새소식

⌨️ Algorithms/백준

[Python] 백준 2711번_오타맨 고창영

2023. 5. 27. 21:11

  • -

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

 

2711번: 오타맨 고창영

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

www.acmicpc.net

 

  • 창영이가 오타를 낸 문장과 오타를 낸 위치가 주어졌을 때, 오타를 지운 문자열을 출력하기
  • 창영이는 오타를 반드시 1개만 냄
  • 입력
    • 첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어짐
    • 각 테스트 케이스는 한 줄로 구성되어 있음
    • 첫 숫자는 창영이가 오타를 낸 위치이고, 두 번째 문자열은 창영이가 친 문자열
    • 문자열의 가장 첫 문자는 1번째 문자이고, 문자열의 길이는 80을 넘지 않고, 대문자로만 이루어져 있음
    • 오타를 낸 위치는 문자열 길이보다 작거나 같음
  • 출력
    • 각 테스트 케이스에 대해 오타를 지운 문자열을 출력
  • 시간 제한: 1초
  • 메모리 제한: 128 MB

 

"""
입출력 예시)

4
4 MISSPELL
1 PROGRAMMING
7 CONTEST
3 BALLOON
            -> MISPELL
               ROGRAMMING
               CONTES
               BALOON
"""

 

 

## 의사코드 ##

# 오타를 낸 문자를 제거
# 문자열.replace(문자열[int(인덱스)-1], '')

 

 

 

 

t = int(input())
for _ in range(t):
    idx, s = input().split()
    print(s.replace(s[int(idx)-1], ''))

 

 

-> replace() 사용 시 변환하려는 문자가 문자열 내에서 모두 변환되어버림 (오타 낸 문자와 동일한 문자가 있는 경우 틀림)

 

 

 

 

t = int(input())
for _ in range(t):
    idx, string = input().split()
    string = list(string)
    string.pop(int(idx)-1)
    print(''.join(string))

 

 

-> 문자열을 리스트로 변환 후, pop(위치)로 오타 낸 문자만 제거 

 

 

 

 

 

 

https://star7sss.tistory.com/102

 

[구현] 백준 2711 오타맨 고창영 - Python

[ Contents ] 1. 문제 (링크 참조) 2711번: 오타맨 고창영 첫째 줄에 테스트 케이스의 개수 T(1

star7sss.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!