SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제
다음 주어진 조건에 따라 n개의 수를 처리하면 8자리의 암호를 생성할 수 있다.
- 8개의 숫자를 입력 받는다.
- 첫 번째 숫자를 1 감소한 뒤, 맨 뒤로 보낸다.
다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨 뒤로, 그 다음 수는 4, 그 다음 수는 5를 감소한다.
이와 같은 작업을 한 사이클이라 한다.
- 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램은 종료된다. 이 때의 8자리의 숫자 값이 암호가 된다.

[1 사이클]

[암호 도출]
제출 답안
from collections import deque
def password(queue):
# 한 자리가 아니라면 실행
while(True):
for i in range(1, 6):
num = queue.popleft()
queue.append(num-i)
if queue[-1]<=0:
queue[-1] = 0
return queue
for test_case in range(1, 11):
queue = deque()
n = int(input())
nums = list(map(int, input().split()))
for i in range(8):
queue.append(nums[i])
result = password(queue)
print(f"#{test_case}", end=" ")
for q in queue:
print(f"{q}", end=" ")
print()
'알고리즘 > Python' 카테고리의 다른 글
[Python | SWEA] 1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) | 2023.05.10 |
---|---|
[Python | SWEA] 1230. [S/W 문제해결 기본] 8일차 - 암호문3 (0) | 2023.05.10 |
[Python | SWEA] 1209. [S/W 문제해결 기본] 2일차 - Sum (0) | 2023.05.08 |
[Python | SWEA] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (0) | 2023.05.07 |
[Python | SWEA] 1289. 원재의 메모리 복구하기 (0) | 2023.05.07 |