본문 바로가기

알고리즘 공부/백준 > Python3

[백준 파이썬] #2711: 오타맨 고창영

https://www.acmicpc.net/problem/2711

 

2711번: 오타맨 고창영

첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어진다. 각 테스트 케이스는 한 줄로 구성되어 있다. 첫 숫자는 창영이가 오타를 낸 위치이고, 두 번째 문자열은 창영이가 친 문자열이다. 문자

www.acmicpc.net

 

[문제 정리]

창영이가 오타를 낸 문장과 오타를 낸 위치가 주어졌을 때, 오타를 지운 문자열을 출력해라.

ex) 4 MISSPELL → MISPELL

 

[문제 접근]

replace()함수를 사용하면 인덱스 값을 지정하여 오타를 삭제할 수 없다.

그래서 생각해낸 것이 문자열 슬라이싱이다.

ex) 4 MISSPELL → MISPELL 의 경우 word=MISSPELL이라고 한다면, word[:3]=MIS, word[4:]=PELL 이므로, 오타의 위치가 4인 경우 word[:3]+word[4:]를 출력하면 된다. 즉 오타의 위치가 n이면 word[:n-1]+word[n:] 를 출력한다.

 

 

[정답]

 

1. 테스트 케이스의 수 T를 입력받는다.

2. for문을 돌면서 오타의 위치 n과 오타를 낸 문장 word를 입력받는다. n을 int형태로 바꾸어준다.

3. 오타를 제외한 word[:n-1]+word[n:] 를 출력한다.