Algorithm/Simulation

[Python] SWEA 1228,1230번 암호문1, 암호문3

코딩쪼앙 2023. 5. 16. 23:29

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