코딩 테스트 & 문제 해결/코딩 테스트 연습
[준랩] [python] 1082: 특정 대문자를 소문자로 바꾸기
JYUN(sia)
2024. 12. 24. 02:05
어려운 문제는 아닌데 저번과 같은 실수를 해서 정리해놓는다.
코드1
오류1: 문자열은 Python에서 불변 객체(immutable)
def solution(A,B):
B=list(map(str,B.split()))
idx=0
for i in A:
if i in B:
print(i)
A[idx].lower() # 이렇게 해봤자 A는 안 바뀐다.
idx+=1
return A
A=input()
B=input()
print(solution(A,B))
string.lower() 함수는 string의 모든 알파벳들을 소문자로 바꾼 문자열을 반환한다.
예를 들어 s1 = "PYTHON" 라는 문자열이 있다고하면 s1.lower() 라는 함수를 이용하면 "PYTHON" 내부의 알파벳들을 모두 각각 소문자로 변환해서 새로운 "python"이라는 문자열을 반환한다. 절대 s1이 바뀌는 게 아니다.
def solution(A,B):
B=list(map(str,B.split()))
idx=0
for i in A:
if i in B:
A.replace(i,i.lower())
idx+=1
return A
A=input()
B=input()
print(solution(A,B))
replace()를 사용할 때도 동일하다!!!
Python에서 문자열은 불변 객체이다. 즉, replace 메소드는 원본 문자열을 변경하지 않고, 변경된 새 문자열을 반환한다.
전체 코드
def solution(A,B):
B=list(map(str,B.split()))
for i in A:
if i in B:
A=A.replace(i,i.lower())
return A
A=input()
B=input()
print(solution(A,B))