반응형
리뷰
풀이하는데 오랜 시간이 걸렸다... 딕셔너리를 활용하긴 했지만 시간초과를 벗어나진 못했었는데 갑자기 깨달아버려 시도했더니 문제가 풀렸다.
문제 풀이
- a-z, A-Z를 키로 갖는 딕셔너리를 생성해 준다.
- 문자열 변경이 필요할 경우 딕셔너리를 돌아 value값이 일치하면 새로운 value값으로 업데이트 해준다.
- 출력이 필요한 경우 초기 s값을 참조하여 각 단어를 딕셔너리 key를 호출해 value를 한 문자열로 묶어 출력해준다.
참고 사항
S*N이 최악의 경우 300억으로 모든 케이스를 돌고자 하면 무조건 시간초과가 난다.
정답 코드
def q27396():
# 백준 27396번 파이썬 문자열 변환과 쿼리
import sys
s, n = sys.stdin.readline().split()
char_map = {chr(i): chr(i) for i in range(65, 123)}
for _ in range(int(n)):
order = sys.stdin.readline().split()
if order[0] == '1':
for char in char_map:
if char_map[char] == order[1]:
char_map[char] = order[2]
else:
transformed_s = ''.join(char_map[char] for char in s)
print(transformed_s)
q27396()
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
백준 19947번 투자의 귀재 배주형 파이썬 (0) | 2024.07.03 |
---|---|
SWEA 2805번 D3 농작물 수확하기 파이썬 (0) | 2024.07.02 |
SWEA 1208번 D3 [S/W 문제해결 기본] 1일차 - Flatten 파이썬 (0) | 2024.06.30 |
SWEA 1206번 D3 [S/W 문제해결 기본] 1일차 - View 파이썬 (0) | 2024.06.30 |
SWEA 10965번 D3 제곱수 만들기 파이썬 (0) | 2024.06.30 |