250x250
Link
λ‚˜μ˜ GitHub Contribution κ·Έλž˜ν”„
Loading data ...
Notice
Recent Posts
Recent Comments
관리 메뉴

Data Science LAB

[Python] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ level2 (점프와 μˆœκ°„μ΄λ™) λ³Έλ¬Έ

πŸ“ Coding Test/Programmers

[Python] ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ level2 (점프와 μˆœκ°„μ΄λ™)

γ…… γ…œ γ…” γ…‡ 2023. 1. 2. 00:57
728x90

1. 문제 μ„€λͺ…

OO μ—°κ΅¬μ†ŒλŠ” ν•œ λ²ˆμ— K 칸을 μ•žμœΌλ‘œ μ ν”„ν•˜κ±°λ‚˜, (ν˜„μž¬κΉŒμ§€ 온 거리) x 2 에 ν•΄λ‹Ήν•˜λŠ” μœ„μΉ˜λ‘œ μˆœκ°„μ΄λ™μ„ ν•  수 μžˆλŠ” νŠΉμˆ˜ν•œ κΈ°λŠ₯을 가진 아이언 슈트λ₯Ό κ°œλ°œν•˜μ—¬ νŒλ§€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 아이언 μŠˆνŠΈλŠ” κ±΄μ „μ§€λ‘œ μž‘λ™λ˜λŠ”λ°, μˆœκ°„μ΄λ™μ„ ν•˜λ©΄ 건전지 μ‚¬μš©λŸ‰μ΄ 쀄지 μ•Šμ§€λ§Œ, μ•žμœΌλ‘œ K 칸을 μ ν”„ν•˜λ©΄ K 만큼의 건전지 μ‚¬μš©λŸ‰μ΄ λ“­λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ 아이언 슈트λ₯Ό μ°©μš©ν•˜κ³  이동할 λ•ŒλŠ” μˆœκ°„ 이동을 ν•˜λŠ” 것이 더 νš¨μœ¨μ μž…λ‹ˆλ‹€. 아이언 슈트 κ΅¬λ§€μžλŠ” 아이언 슈트λ₯Ό μ°©μš©ν•˜κ³  거리가 N 만큼 λ–¨μ–΄μ Έ μžˆλŠ” μž₯μ†Œλ‘œ κ°€λ €κ³  ν•©λ‹ˆλ‹€. 단, 건전지 μ‚¬μš©λŸ‰μ„ 쀄이기 μœ„ν•΄ μ ν”„λ‘œ μ΄λ™ν•˜λŠ” 것은 μ΅œμ†Œλ‘œ ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 아이언 슈트 κ΅¬λ§€μžκ°€ μ΄λ™ν•˜λ €λŠ” 거리 N이 μ£Όμ–΄μ‘Œμ„ λ•Œ, μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 건전지 μ‚¬μš©λŸ‰μ˜ μ΅œμ†Ÿκ°’μ„ returnν•˜λŠ” solution ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄ μ£Όμ„Έμš”.

예λ₯Ό λ“€μ–΄ 거리가 5만큼 λ–¨μ–΄μ Έ μžˆλŠ” μž₯μ†Œλ‘œ κ°€λ €κ³  ν•©λ‹ˆλ‹€.
아이언 슈트λ₯Ό μž…κ³  거리가 5만큼 λ–¨μ–΄μ Έ μžˆλŠ” μž₯μ†Œλ‘œ 갈 수 μžˆλŠ” 경우의 μˆ˜λŠ” μ—¬λŸ¬ κ°€μ§€μž…λ‹ˆλ‹€.

  • 처음 μœ„μΉ˜ 0 μ—μ„œ 5 칸을 μ•žμœΌλ‘œ μ ν”„ν•˜λ©΄ λ°”λ‘œ λ„μ°©ν•˜μ§€λ§Œ, 건전지 μ‚¬μš©λŸ‰μ΄ 5 만큼 λ“­λ‹ˆλ‹€.
  • 처음 μœ„μΉ˜ 0 μ—μ„œ 2 칸을 μ•žμœΌλ‘œ μ ν”„ν•œ λ‹€μŒ μˆœκ°„μ΄λ™ ν•˜λ©΄ (ν˜„μž¬κΉŒμ§€ 온 거리 : 2) x 2에 ν•΄λ‹Ήν•˜λŠ” μœ„μΉ˜λ‘œ 이동할 수 μžˆμœΌλ―€λ‘œ μœ„μΉ˜ 4둜 μ΄λ™ν•©λ‹ˆλ‹€. μ΄λ•Œ 1 칸을 μ•žμœΌλ‘œ μ ν”„ν•˜λ©΄ λ„μ°©ν•˜λ―€λ‘œ 건전지 μ‚¬μš©λŸ‰μ΄ 3 만큼 λ“­λ‹ˆλ‹€.
  • 처음 μœ„μΉ˜ 0 μ—μ„œ 1 칸을 μ•žμœΌλ‘œ μ ν”„ν•œ λ‹€μŒ μˆœκ°„μ΄λ™ ν•˜λ©΄ (ν˜„μž¬κΉŒμ§€ 온 거리 : 1) x 2에 ν•΄λ‹Ήν•˜λŠ” μœ„μΉ˜λ‘œ 이동할 수 μžˆμœΌλ―€λ‘œ μœ„μΉ˜ 2둜 μ΄λ™λ©λ‹ˆλ‹€. μ΄λ•Œ λ‹€μ‹œ μˆœκ°„μ΄λ™ ν•˜λ©΄ (ν˜„μž¬κΉŒμ§€ 온 거리 : 2) x 2 만큼 이동할 수 μžˆμœΌλ―€λ‘œ μœ„μΉ˜ 4둜 μ΄λ™ν•©λ‹ˆλ‹€. μ΄λ•Œ 1 칸을 μ•žμœΌλ‘œ μ ν”„ν•˜λ©΄ λ„μ°©ν•˜λ―€λ‘œ 건전지 μ‚¬μš©λŸ‰μ΄ 2 만큼 λ“­λ‹ˆλ‹€.

μœ„μ˜ 3가지 경우 거리가 5만큼 λ–¨μ–΄μ Έ μžˆλŠ” μž₯μ†Œλ‘œ κ°€κΈ° μœ„ν•΄μ„œ 3번째 κ²½μš°κ°€ 건전지 μ‚¬μš©λŸ‰μ΄ κ°€μž₯ μ μœΌλ―€λ‘œ 닡은 2κ°€ λ©λ‹ˆλ‹€.

 

 

 

 

 

2. μ œν•œ 사항

  • 숫자 N: 1 이상 10μ–΅ μ΄ν•˜μ˜ μžμ—°μˆ˜
  • 숫자 K: 1 μ΄μƒμ˜ μžμ—°μˆ˜

 

 

 

 

 

3. λ‚΄ 풀이

def solution(n):
    ans = 0
    while n > 0:
        if n%2 == 0:
            n = n//2
        else:
            n -= 1
            ans += 1
    return ans

 

 

 

 

 

 

4. λ‹€λ₯Έ μ‚¬λžŒ 풀이

def solution(n):
    return bin(n).count('1')

 

 

 

def solution(n):
    answer = 1
    while n > 1:
        answer += n % 2
        n = n // 2
    return answer
728x90
Comments