[문제]
지폐를 몇 번 접어야 지갑에 들어가는지를 구하는 문제였다.

[내 코드]
처음 내 코드이다.
Bill의 최댓값을 2로 나눈 몫과 bill의 최솟값을 bill로 설정하고 answer(횟수)를 1 올려줬다.
만약에 bill의 최댓값이 wallet의 최댓값보다 작거나 같고, bill의 최솟값이 wallet의 최촛값보다 작거나 같으면 for문을 멈추고 답을 냈다.
나름 머리를 쓴다고 range를 16으로 설정했다. Bill값이 2,000 이하니 아무리 많이 접어도 16번이기 때문이다.
def solution(wallet, bill):
answer = 0
for i in range(16):
bill = [max(bill) // 2, min(bill)]
answer += 1
if max(bill) <= max(wallet) and min(bill) <= min(wallet):
break
return answer
[고려하지 못한 점]
answer = 0 인 경우(애초에 지갑에 딱 맞게 들어가는 경우)를 빼먹었다..
[수정된 코드]
answer = 0인 경우를 앞에서 고려해줬다.
def solution(wallet, bill):
answer = 0
# answer = 0 인 경우
if max(bill) <= max(wallet) and min(bill) <= min(wallet):
return answer
for i in range(16):
bill = [max(bill) // 2, min(bill)]
answer += 1
if max(bill) <= max(wallet) and min(bill) <= min(wallet):
break
return answer
[느낀점]
테케 빠지지 않게 하나하나 꼼꼼히 생각하자!!
'코테 오답노트' 카테고리의 다른 글
[프로그래머스] 올바른 괄호 (파이썬, 시간초과- 리스트 대신 디큐) (0) | 2025.03.27 |
---|---|
[프로그래머스] 유연근무제 (파이썬, 테케 생각 잘한 게 뿌듯해서 기록함) (0) | 2025.03.21 |
[프로그래머스] 소수 만들기 (파이썬, 최적화) (0) | 2025.03.14 |
[프로그래머스] 공원 산책 (파이썬, 예시 테케에 없는 테케도 생각하기) (0) | 2025.03.12 |
[프로그래머스] 달리기 경주 (파이썬, 시간복잡도 개선) (0) | 2025.03.06 |