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

2024. 4. 30. 13:53코테 준비!

문제링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD&categoryId=AV14uWl6AF0CFAYD&categoryType=CODE&problemTitle=1225&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

문제 : 

9550 9556 9550 9553 9558 9551 9551 9551 를 입력받고

9550을 뺴고 -1 값을 다시 9551 뒤에 추가. 이걸 0이 나올때까지 반복합니다.

for i in range(10):
    a = int(input()) #케이스 입력 사실상 필요없고..
    arr = list(map(int,input().split())) # 리스트 입력
 
    while True: #무한반복
        for j in range(1,6):
            b = arr.pop(0)-j # 9550 -1 = 9449 a에 저장
            arr.append(b) # arr에 9449값을 추가
            if b <= 0: # 배열 마지막이 0이면 
                arr[-1] = 0 #배열 마지막 0으로 저장
                break
        if arr[-1] == 0: # for문 나와서 while문 종료 조건
            break
 
    print(f'#{a}',end=" ")
    for k in range(len(arr)):
        print(arr[k],end=" ")

 

주석으로 설명 적어뒀습니다.

혹시라도 더 좋은 코드나, 틀린 부분이 있다면 말해주세요!!

GPT답 비교 해보려했으나.. 완전 다른 문제를 이해하고, 코드를 작성해줘서 올리지 못했습니다!