[SWEA/Python] 1228. [S/W 문제해결 기본] 8일차 - 암호문1

2024. 10. 6. 13:41·코딩테스트/SWEA
728x90
반응형

문제설명 

0 ~ 999999 사이의 수를 나열하여 만든 암호문이 있다.
암호문을 급히 수정해야 할 일이 발생했는데, 이 암호문은 특수 제작된 처리기로만 수정이 가능하다.
이 처리기는 다음과 같이 1개의 기능을 제공한다.

1. I(삽입) x, y, s : 앞에서부터 x의 위치 바로 다음에 y개의 숫자를 삽입한다. s는 덧붙일 숫자들이다.[ ex) I 3 2 123152 487651 ]

위의 규칙에 맞게 작성된 명령어를 나열하여 만든 문자열이 주어졌을 때, 암호문을 수정하고, 수정된 결과의 처음 10개 숫자를 출력하는 프로그램을 작성하여라.

[입력]

첫 번째 줄 : 원본 암호문의 길이 N ( 10 ≤ N ≤ 20 의 정수)
두 번째 줄 : 원본 암호문
세 번째 줄 : 명령어의 개수 ( 5 ≤ N ≤ 10 의 정수)
네 번째 줄 : 명령어

위와 같은 네 줄이 한 개의 테스트 케이스이며, 총 10개의 테스트 케이스가 주어진다.

[출력]
#기호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 수정된 암호문의 처음 10개 항을 출력한다.

 

풀이 코드

  • 배운 점: split(maxsplit=#) 
T = 10

for jc in range(1,T+1):
    N = int(input())    # 원래 암호문 길이 10~20
    default_N = list(map(int, input().split()))    # 원래 문자열
    M = int(input())    # 명령어 개수 
    M_list = list(map(str, input().split('I')))
    for i in M_list:
        if len(i) > 1:
            x, y, toAdd = i.split(maxsplit = 2)
            x = int(x)
            toAddList = list(map(int, toAdd.split()))
            default_N = default_N[:x] + toAddList + default_N[x:]
    
    print(f"#{jc} {' '.join(map(str, default_N[0:10]))}")

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'코딩테스트 > SWEA' 카테고리의 다른 글

[SWEA/Python3] 1493. 수의 새로운 연산  (0) 2024.10.05
'코딩테스트/SWEA' 카테고리의 다른 글
  • [SWEA/Python3] 1493. 수의 새로운 연산
heeya16
heeya16
개발 공부 냠냠
  • heeya16
    개발자 희야
    heeya16
  • 전체
    오늘
    어제
    • 분류 전체보기 (106)
      • 코딩테스트 (66)
        • 프로그래머스 (38)
        • SWEA (2)
        • BAEKJOON (26)
      • 알고리즘 (7)
      • 자료구조 (19)
      • 프로젝트 (5)
      • 취업 주르륵 (3)
      • 데이터베이스 (0)
      • IT지식 (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    1003
    10448
    10773
    10월
    10진수
    11047
    11399
    11403
    11866
    1449
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
heeya16
[SWEA/Python] 1228. [S/W 문제해결 기본] 8일차 - 암호문1
상단으로

티스토리툴바