SWEA 1225 암호생성기 (파이썬)

내 코드

# 5번이 한 사이클
# 0이거나, 0보다 작아지거나 -> 0 -> 끝

def password(list):
    while True:
        for i in range(1, 6):  # 1, 2, 3, 4, 5
            num = list.pop(0)  # 맨 처음 숫자를 빼
            list.append(num - i)  # 이 숫자를 i만큼 빼고, 맨 뒤에 넣어줘

            # 0이 나오면
            if list[-1] <= 0:  # 가장 마지막 값이 0보다 작거나 같으면
                list[-1] = 0   # 0
                return list

T = 10
for _ in range(1, T + 1):
    tc = int(input())
    numbers = list(map(int, input().split())) # [9550, 9556, 9550, 9553 9558 9551 9551 9551]

    result = password(numbers)
    # print('#{}'.format(tc), ' '.join(map(str, (result))))
    print('#{}'.format(tc), *result)

포인트🔐

오늘 배운 Queue의 개념을 그대로 따라가면 쉬웠던 문제!
사실 문제에 친절하게 다 나와있어서 그대로 코드로 써주기만 하면 됐다!
큐의 뒤에서는 only 삽입
큐의 앞에서는 only 삭제

좋은 웹페이지 즐겨찾기