Python/[코드트리]
[코드트리] 문자 수정 > 문자열 놀이(★)
hyunnn_00
2023. 7. 18. 16:25
문자열 s와 q개의 질의가 주어졌을 때 각 질의를 수행하는 프로그램을 작성해보세요. 단, 질의를 순서대로 수행해야 하며, 문자열은 질의에 따라 계속 변합니다. 질의의 종류는 다음과 같습니다.
- 1 a b
- a번째 문자와 b번째 문자를 교환한 뒤 출력합니다.
- 2 a b
- 문자 a를 전부 문자 b로 변경한 뒤 출력합니다.
s, q = input().split()
s = list(s)
q = int(q)
for _ in range(q):
arr = list(input().split())
if arr[0] == '1':
s[int(arr[1])-1], s[int(arr[2])-1] = s[int(arr[2])-1], s[int(arr[1])-1]
if arr[0] == '2':
for i in range(len(s)):
if s[i] == arr[1]:
s[i] = arr[2]
print(''.join(s))
# 해설
# 문자열과 q를 입력받습니다.
string, q = input().split()
q = int(q)
# 문자열의 길이를 구합니다.
leng = len(string)
# q개의 질의를 수행합니다.
for _ in range(q):
# 질의를 입력받습니다.
quest = input().split()
# 몇번째 질의인지 확인합니다.
if int(quest[0]) == 1:
# a번째 문자와 b번째 문자를 교환하여 출력합니다.
a = int(quest[1])
b = int(quest[2])
tmp = string[a - 1]
# a번째 문자의 자리에 b번째 문자를 넣습니다.
string = string[:a - 1] + string[b - 1] + string[a:]
# b번째 문자의 자리에 a번째 문자를 넣습니다.
string = string[:b - 1] + tmp + string[b:]
# 교환된 문자열을 출력합니다.
print(string)
else:
# 문자 a를 전부 b로 변경한 뒤 출력합니다.
a = quest[1]
b = quest[2]
# 문자 a를 전부 b로 변경합니다.
for i in range(leng):
if string[i] == a:
string = string[:i] + b + string[i + 1:]
# 변경된 문자열을 출력합니다.
print(string)