Koala - 12기/기초 알고리즘 스터디
[백준 python3] 1551번 : 수열의 변화
알 수 없는 사용자
2023. 9. 17. 19:18
https://www.acmicpc.net/problem/1551
1551번: 수열의 변화
첫째 줄에 수열의 크기 N과 K가 주어진다. N은 20보다 작거나 같은 자연수이고, K는 0보다 크거나 같고, N-1보다 작거나 같은 정수이다. 둘째 줄에는 수열이 ‘,’로 구분되어 주어진다. 수열을 이루
www.acmicpc.net
문제 코드
n, k = map(int, input().split())
a = list(map(int, input().split(',')))
for i in range(k):
for j in range(len(a)-1):
a.append(a[1]-a[0])
a.pop(0)
a.pop(0)
print(','.join(map(str, a)))
문제풀이
1. 수열의 크기 N과 반복할 횟수 K를 정수형으로 입력 받는다.
2. 초기 수열을 리스트 형식으로 입력받는다.
3. 이중반복문을 이용한다.
수열의 (두번째 요소) - (첫번째 요소)를 계산하여 리스트에 append 해주고, pop 메서드를 사용해 맨 앞의 요소를 삭제하면 다시 (두번째 요소) - (첫번째 요소)를 진행하면 된다. 반복문이 종료되면 pop 메서드를 다시 사용하여 초기 리스트에 있던 값을 결과적으로 모두 삭제할 수 있다.
위 과정을 K번 반복한다.
4. join 메서드를 사용하여 모든 과정이 완료된 리스트 a를 출력한다.