반응형
https://programmers.co.kr/learn/courses/30/lessons/12980
현재 위치부터 0까지 도달하는 방법을 역산하면 간단히 식을 도출할 수 있는 문제.
이전 위치 * 2로 현재 위치에 도달할 수 있으면 건전지 사용이 필요없다.
즉, 현재 위치 % 2 == 0이면 건전지 사용 없이 위치에 도달할 수 있다.
만약 현재 위치 % 2 != 0이라면, 현재 위치 % 2가 0이 될 수 있도록 1을 빼준다.
문제의 예시 5000은
5000 -> 2500 -> 1250 -> 625 -> 624 (+1) -> 312 -> 156 -> 78 -> 39 -> 38 (+1) -> 19 -> 18 (+1) -> 9 -> 8 (+1) -> 4 -> 2 -> 1 -> 0 (+1) 로, 총 다섯 번의 이동이 필요하다.
입력받은 n값이 0이 될 때까지, n을 2로 나눈 몫과 나머지를 구한다. 나머지가 1일 경우만 카운트하면 된다.
반응형
'프로그래밍 > 코딩테스트 문제풀이' 카테고리의 다른 글
[Python] 백준 11003. 최솟값 찾기 (0) | 2020.05.16 |
---|---|
[Python] 프로그래머스. 소수 만들기 (Level 2) (0) | 2020.05.11 |
[Python] 백준 17822. 원판 돌리기 (0) | 2020.05.07 |
[Python] 프로그래머스. 타일 장식물 (Level 3) (0) | 2020.05.06 |
[Python] 구름. 그룹 지정 (0) | 2020.05.04 |