1228번 문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제 풀이
- 삽입되는 위치와 개수, 삽입되는 모든 숫자들은 I뒤에 나오므로, I가 나온 다음 값들만 탐색한다.
- I바로 다음 값은 삽입위치, 그 다음 값은 삽입해야 할 숫자들의 총 개수이므로, 각각의 값들을 파싱해준 후, 삽입해야 할 숫자들의 개수만큼 for문을 돌려, 원래 저장되어있는 리스트에 값을 하나씩 삽입한다.
- 위 과정을 반복하여 삽입을 모두 마쳤다면 앞에서 10개까지만 형식에 맞게 출력한다.
코드
for tc in range(10):
n = int(input())
array = list(map(int,input().split()))
change = int(input())
change_list = list(input().split())
# I다음 저장되어있는 삽입 위치와 삽입 개수 파싱
for i in range(len(change_list)):
if change_list[i] == 'I':
idx = int(change_list[i+1])
count = int(change_list[i+2])
for j in range(count):
array.insert(idx+j, int(change_list[i+3+j]))
# 앞에서부터 10개만 출력
print(f'#{tc + 1}',*array[:10])
1230번 문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제 풀이
- 위 문제와 동일한 로직으로 문제 설명에 맞게 구현하여 출력한다.
코드
for tc in range(10):
n = int(input())
array = list(map(int,input().split()))
change = int(input())
change_list = list(input().split())
for i in range(len(change_list)):
# 삽입
if change_list[i] == 'I':
idx = int(change_list[i+1])
count = int(change_list[i+2])
for j in range(count):
array.insert(idx+j, int(change_list[i+3+j]))
# 추가
elif change_list[i] == 'A':
count = int(change_list[i+1])
for j in range(count):
array.append(int(change_list[i+2+j]))
# 삭제
elif change_list[i] == 'D':
idx = int(change_list[i+1])
count = int(change_list[i+2])
del array[idx:idx+count]
print(f'#{tc + 1}',*array[:10])'Algorithm > Simulation' 카테고리의 다른 글
| [Python] 백준 1063번 킹 (0) | 2023.05.24 |
|---|---|
| [Python] SWEA 13428번 숫자 조작 (0) | 2023.05.18 |
| [Python] SWEA 1216번 회문2 (0) | 2023.05.15 |
| [Python] SWEA 1215번 회문1 (0) | 2023.05.11 |
| [Python] SWEA 2805번 농작물 수확하기 (0) | 2023.05.11 |