반응형
문제 출처: www.acmicpc.net/problem/18004
1. 문제 접근 방식
- 영어를 열심히 해석하고 차근차근 푸는게 답이다.... 자세한 설명은 주석으로 첨부했습니다!
2. 내가 푼 코드
import sys
a, b = map(int, sys.stdin.readline().split())
cnt = 0
# a와 b의 입력 값이 같으면 연산과정이 필요없으므로 0출력
if a == b:
print("0")
# a보다 b가 더 클 경우 계속 1씩 더하여 값을 맞춰야하기 때문에 b-a번
elif a < b:
print(b-a)
# a가 b보다 클 경우 -> while문을 사용하여 조건을 걸어준다.
# 짝수일 경우는 2로 나누기
# 홀수일 경우는 1을 더하여 짝수 만들기
# 사이클을 돌때마다 카운트 값 1씩 증가
# a가 float형으로 바뀌므로 출력값에 int 지정
else:
while a > b:
if a % 2 == 0:
a /= 2
else:
a += 1
cnt += 1
print(int(cnt+b-a))
3. 결과 및 느낀점
- 성공! 영어 문제라서 긴장했는데 그래도 막상 해석 다 하고나니 쉬운 문제였다. 가끔 머리 식힐겸 이런문제 몇개 풀어봐야겠다.
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 11728번 Python (0) | 2021.05.01 |
---|---|
[Baekjoon/백준] 11653번 Python (0) | 2021.04.29 |
[Baekjoon/백준] 1629번 Python (0) | 2021.04.26 |
[Baekjoon/백준] 1934번 Python (0) | 2021.04.25 |
[Baekjoon/백준] 13164번 Python (0) | 2021.04.24 |