⌨️ Algorithms/백준

[Python] 백준 26040번_특정 대문자를 소문자로 바꾸기

monzheld 2023. 6. 5. 20:05

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

 

26040번: 특정 대문자를 소문자로 바꾸기

알파벳 대소문자로 구성된 문자열 A가 주어진다. 한 개 이상의 알파벳 대문자가 공백으로 구분된 문자 목록 B가 주어진다. 문자 목록 B에는 중복된 대문자가 존재하지 않는다. 문자 목록 B에 존재

www.acmicpc.net

 

  • 알파벳 대소문자로 구성된 문자열 A가 주어짐
  • 한 개 이상의 알파벳 대문자가 공백으로 구분된 문자 목록 B가 주어짐
  • 문자 목록 B에는 중복된 대문자가 존재하지 않음
  • 문자 목록 B에 존재하는 모든 대문자 b에 대하여, 문자열 A에 존재하는 대문자 b를 대응하는 소문자로 치환한 문자열을 C
  • 입력으로 문자열 A와 문자 목록 B가 주어지면 문자열 C를 출력하기
  • 입력
    • 첫 번째 줄에 문자열 A가 주어짐
    • 두 번째 줄에 문자 목록 B가 주어짐
  • 출력
    • 첫 번째 줄에 문자열 C를 출력
  • 시간 제한: 0.1초
  • 메모리 제한: 512 MB
  • 제한
    • 3 ≤ 문자열 A 길이 ≤ 100,000
    • 1 ≤ 문자 목록 B에 있는 대문자의 개수 ≤ 26
    • 문자 목록 B에는 중복된 대문자가 존재하지 않음

 

"""
입출력 예시)

(예제 입력 1) 
ABabC
A
        -> aBabC

(예제 입력 2) 
ABabC
A B D
        -> ababC
"""

 

 

## 의사코드 ##

# 대문자 문자열 리스트에 있으면 소문자로 변환, 아니면 그대로 출력
# res = ''
# for s in string:
#     대문자 문자열 리스트에 있는 문자이면 소문자로 변환
#     if s in upper_list:
#         res += s.lower()
#     else:
#         res += s

 

 

 

 

string = input()
# 대문자 문자열 리스트
upper_list = input().split()

res = ''
for s in string:
    # 대문자 문자열 리스트에 있는 문자이면 소문자로 변환
    if s in upper_list:
        res += s.lower()
    else:
        res += s

print(res)