[SWEA] 1225 | [S/W 문제해결 기본] 7일차 - 암호생성기

Gaanii·2024년 11월 14일
0

Problem Solving

목록 보기
164/210
post-thumbnail

문제링크


1225 | [S/W 문제해결 기본] 7일차 - 암호생성기



풀이과정


while문을 돌면서 입력받은 8개 숫자가 담긴 리스트의 0번 인덱스 요소를 빼온다.(값 리턴 및 삭제를 의미)

리턴받은 값에서 1~5값을 빼고 만약 0보다 작거나 같다면 맨 뒤에 0을 붙여주고 프로그램을 종료한다.
0보다 크다면 그냥 맨 뒤로 붙여주면 된다.

이때 1~5값을 빼는건 i값을 이용해서 0~4까지만 돌게 하고 거기에 1을 더한 값을 빼주면 된다.

코드


for tc in range(1, 11):
    T = int(input())
    nums = list(map(int, input().split()))

    i = 0
    while True:
        value = nums.pop(0) - (i + 1)
        if value <= 0:
            nums.append(0)
            break
        nums.append(value)
        i = (i + 1) % 5

    print(f'#{T} ', end = ' ')
    print(*nums)


결과


정답

0개의 댓글