반응형
문제
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.
크로아티아 알파벳변경
č | c= |
ć | c- |
dž | dz= |
đ | d- |
lj | lj |
nj | nj |
š | s= |
ž | z= |
예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.
dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.
입력
첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.
단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와있는 알파벳은 변경된 형태로 입력
<<코드>>
n = input()
a = ["c=","c-","dz=","d-","lj","nj","s=","z="] # 크로아티아 알파벳을 리스트 a 안에 넣어준다
for i in a: # 크로아티아 알파벳을 하나씩 도는 for문 생성
n = n.replace(i,"*") # input된 n문자열 안에서 크로아티아 알파벳이 있다면 *로 대체 replace() 함수
print(len(n)) # 대체된 n문자열에서 전체 요소 갯수 출력
<<결과값>>
ddz=z=
3
생각보다 코드가 짧게 나왔다. ( ͡° ͜ʖ ͡°) 헷갈렸던 것은 for문에서 a 리스트를 돌아야하는 것. 리스트에 있는 크로아티아 알파벳을 기존 input값인 n의 문자열과 비교하여 특수문자(*)로 대체하고, 전체 길이를 세어준다.
- 파이썬의 문자열을 바꾸는 함수: replace(찾을값,변경값,바꿀횟수)
- 파이썬 내장함수 len(n) 입력값 n의 길이(요소의 전체 개수)
728x90
반응형
'알고리즘' 카테고리의 다른 글
[파이썬] 단계별 백준 문제 풀기 - 2869 기본수학 (달팽이는 올라가고 싶다) (0) | 2021.03.09 |
---|---|
[항해99] 2주차 시작, 알고리즘 1주차 (0) | 2021.03.07 |
[파이썬] 단계별 백준 문제 풀기 - 1157 문자열 (단어공부) (0) | 2021.03.06 |
[파이썬] 단계별 백준 문제 풀기 - 4673 함수 (셀프넘버) (0) | 2021.03.06 |
[파이썬] 단계별 백준 문제 풀기 - 4344 1차원 배열 (평균은 넘겠지) (0) | 2021.03.06 |