728x90
https://programmers.co.kr/learn/courses/30/lessons/12985
주석보고 이해할수있음
차이가 1일경우 대진가능
하지만 이때에도 둘중 작은수가 홀수여야지 대진이가능
다른사람의 풀이 보면 온갖 서커스가 난무하는 재밌는문제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
def solution(n, a, b):
answer = 1
small = min(a, b)
big = max(a, b)
while (1):
# 대결할 수 있으면 대결시키킴
# 차이가 1이면서 홀수인수가 짝수인 수보다 더 작아야 싸움 가능
if big - small == 1 and small % 2 == 1:
break
else:
if small % 2 == 1: # 홀수일경우
small = int(small / 2) + 1
else:
small = small / 2
if big % 2 == 1: # 홀수일경우
big = int(big / 2) + 1
else:
big = big / 2
answer += 1
return answer
|
cs |
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV 2] JadenCase 문자열 만들기 (0) | 2021.06.03 |
---|---|
[프로그래머스 LV 2 ] 수식 최대화 파이썬/python (0) | 2021.06.03 |
[프로그래머스 LV 2] 메뉴 리뉴얼 파이썬 (0) | 2021.05.19 |
[프로그래머스 LV 2] [1차] 뉴스 클러스터링 C++/파이썬 (0) | 2021.05.19 |
[프로그래머스 LV 2 ] 오픈채팅방 C++/python (0) | 2021.05.19 |