[백준] 17497-계산기

kiteday·2025년 7월 29일
0

코딩테스트

목록 보기
36/46

문제바로가기

0부터 N을 만드는 게 아니고
N에서 0을 만드는 방식을 반대로 생각하면서 온다.

N = int(input())
ops = []

while N:
    if N & 1:
        N *= 2
        ops.append('/')
    elif N & 2:
        N -= 2
        ops.append('+')
    else:
        N //= 2
        ops.append('*')

if len(ops) > 99:
    print(-1)
else:
    print(len(ops))
    print(' '.join(f'[{op}]' for op in reversed(ops)))

마지막에 명령어 개수 출력 이후에 명령어를 출력했어야 했는데 그걸 안해서 계속 틀리고 왜 틀리지?라고 생각했었다 ㅠㅠ
아무튼 간단하게 완료

profile
공부

0개의 댓글