생각보다 코드가 너무 간단했다.
# 크로아티아 알파벳
croatia_alphabet = ['dz=', 'lj', 'nj', 'c=', 'c-', 'd-', 's=', 'z=']
word = input()
# 크로아티아 알파벳 개수 세기
for i in croatia_alphabet:
word = word.replace(i, '*')
# 최종 개수 출력
print(len(word))
잘못된 코드
# 크로아티아 알파벳
croatia_alphabet = ['dz=', 'lj', 'nj', 'c=', 'c-', 'd-', 's=', 'z=']
word = input()
cnt = 0
# 크로아티아 알파벳 개수 세기
for i in croatia_alphabet:
while i in word:
cnt += 1
# 문자열에서 이미 찾은 알파벳은 빼기
word = word.replace(i, '',1)
# 일반 알파벳 개수 세기
cnt += len(word)
# 최종 개수 출력
print(cnt)
[for문에서 리스트를 검사할 때]
틀린 코드
for i in croatia_alphabet:
if croatia_alphabet[i] in word:
cnt += 1
# 문자열에서 이미 찾은 알파벳은 빼기
word.replace(croatia_alphabet[i], '')
print(word)
맞는 코드
for i in croatia_alphabet:
if i in word:
cnt += 1
# 문자열에서 이미 찾은 알파벳은 빼기
word.replace(i, '')
print(word)
+++++ replace 함수 사용 시 꼭 다시 할당
string 자료형에서 요소를 대체할 때(지울 때도 가능) 사용하며 (바꿀 값, 대체할 값, 교체 개수) 식으로 사용한다.
[while 사용의 필요성]
[croatia_alphabet 리스트에서 요소 순서 큰거부터 작은거로 바꾸기]
- dz=를 맨 앞에 두어 가장 긴 문자 부터 찾고 시작하기
'백준 - 파이썬 > 단계별 - 6 (심화1)' 카테고리의 다른 글
*[백준/파이썬] 25206번 너의 평점은 (0) | 2025.05.09 |
---|---|
[백준/파이썬] 1316번 그룹 단어 체커 (0) | 2025.05.09 |
*[백준/파이썬] 1157번 단어 공부 (0) | 2025.05.09 |
*[백준/파이썬] 2444번 별 찍기 - 7 | 반복문 거꾸로 돌리기 (0) | 2025.05.07 |