https://www.acmicpc.net/problem/1551
코드 설명
- 두번째 줄의 입력이 특이하게, “,”으로 구분되므로, .split() 함수의 인자로 대입.
- i+1번째의 값이 현재 수열의 마지막 값이 되어야 하므로, 다음 수열의 마지막 index는 size - 1이다.
- 그러나, 진행한 횟수만큼 수열의 크기가 줄어들어서, 다음 반복 시에 차감해야 한다. 그러므로, 마지막 값을 size - 1 - step을 통해 접근한다.
- 리스트 컴프리헨션을 통해 만들어진 다음 수열을 현재 수열을 저장하고 있던 변수에 다시 대입하여, 원하는 횟수만큼 재귀적으로 반복할 수 있도록 한다.
- 출력 형식을 맞춰주기 위해, .join() 함수를 이용한다.
코드 내용
size, steps = map(int, input().split())
numbers = list(map(int, input().split(",")))
for step in range(steps):
numbers = [(numbers[idx+1] - numbers[idx]) for idx in range(size - 1 - step)]
print(",".join(map(str, numbers)))
'Koala - 15기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/C++] 8979번: 올림픽 (0) | 2024.07.20 |
---|---|
[백준/Python] 2947번: 나무 조각 (0) | 2024.07.19 |
[백준/Python] 1475번 : 방 번호 (0) | 2024.07.14 |
[BOJ/Python3] 14425번 문자열 집합 (0) | 2024.07.14 |
[백준/Python] 18111번 : 마인크래프트 (0) | 2024.07.14 |