728x90
[문제]
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
[배운 점]
del ori[idx:idx+cnt]
- 배열의 원하는 위치의 값을 삭제할 수 있다.
- ori 배열에서 idx 인덱스부터 idx+cnt-1 인덱스까지 값을 삭제한다.
- == ori[:idx] + ori[idx+cnt:]
[코드]
for tc in range(1,11):
# 입력
len_ori = int(input()) # 원본 암호문 길이
ori = list(map(int,input().split())) # 원본 암호문
cnt_com = int(input()) # 명령어 개수
pro = list(input().split()) #명령어
# 명령어 구성
# I 삽입, x 위치 다음에 y개 숫자를 삽입, s 덧붙일 숫자
i = 0 # 현재 명령어 인덱스
while i < len(pro):
if pro[i] == 'I':
idx = int(pro[i+1]) # 삽입할 위치 x
cnt = int(pro[i+2]) # 삽입할 숫자 개수 y
insert_list = list(map(int,pro[i+3:i+3+cnt])) # 삽입할 숫자 리스트
ori = ori[:idx] + insert_list + ori[idx:] # 삽입할 위치에 숫자 삽입
i += 3 + cnt # 다음 명령어로 이동
elif pro[i] == 'D':
idx = int(pro[i+1]) # 삭제할 위치 x
cnt = int(pro[i+2]) # 삭제할 숫자 개수 y
del ori[idx:idx+cnt]
#ori = ori[:idx] + ori[idx+cnt:]
i += 3
else:
i += 1 # 다음 명령어로 이동
#출력
print(f'#{tc}',*ori[:10]) # 처음부터 10개의 문자만 하나씩 출력
반응형
'🚩 Coding Test > SWEA' 카테고리의 다른 글
[SWEA][Python] 1954 달팽이 숫자 (1) | 2024.05.16 |
---|---|
[SWEA][S/W 문제해결 기본][Python] 1230 암호문 3 (0) | 2024.05.15 |
[SWEA][S/W 문제해결 기본][Python] 1228 암호문 1 (1) | 2024.05.15 |
[SWEA][S/W 문제해결 기본][Python] 1221 GNS (0) | 2024.05.15 |
[SWEA][S/W 문제해결 기본][Python] 1220 Magnetic (0) | 2024.05.15 |