My Dream Being Visualized

Day 1: 백준 [7단계] 문자열 - 크로아티아 알파벳 본문

Programming/Algorithm

Day 1: 백준 [7단계] 문자열 - 크로아티아 알파벳

마틴킴 2021. 4. 6. 02:14
728x90

[결과]

[코드]

word = input()

l = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']

all = 0
for item in l:

    if item in word:

        all += word.count(item)

        word = word.replace(item, ",", word.count(item))

print(all+len(word.replace(",", "")))

 

[과정]

1. 모든 알파벳을 리스트화 시켜서 하나씩 돌면서 카운터를 print할 계획이었음.

2. builtin function인 string의 replace의 3번째 파라미터인 count(optional)를 몰라서 예제 중 하나인 'c=c='를 처리하지 못함을 확인.

3. replace를 1로 지정했으나, 여전히 'c=c='가 나왔을 때 처리하지 못함 -> 알파벳 리스트가 순서대로 한번밖에 돌지 않기 때문.

4. for문을 한번 더 쓰려고 했으나, 몇번 더 나올지 모른다는 변수때문에 비효율적이라고 생각했음.

5. builtin function인 list의 count 함수를 알게 됨.

6. count 갯수 만큼 all을 더하고 replace 시켰음. 간단!

 

[공부]

1. string.replace(oldvalue, newvalue, count) ref: www.w3schools.com/python/ref_string_replace.asp

 

Python String replace() Method

Python String replace() Method ❮ String Methods Example Replace the word "bananas": txt = "I like bananas" x = txt.replace("bananas", "apples") print(x) Try it Yourself » Definition and Usage The replace() method replaces a specified phrase with another

www.w3schools.com

2. list.count(value) ref: www.w3schools.com/python/ref_list_count.asp

 

Python List count() Method

Python List count() Method ❮ List Methods Example Return the number of times the value "cherry" appears in the fruits list: fruits = ['apple', 'banana', 'cherry'] x = fruits.count("cherry") Try it Yourself » Definition and Usage The count() method retur

www.w3schools.com

 

[문제]

www.acmicpc.net/problem/2941

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net

 

[느낀점]

오랜만에 시작했다고 한들, 아파서 3주동안 쉬었다고 한들, 오랫동안 고민했다는 것 자체가 부끄러웠다.

하지만 다시 감을 올려 적어도 간단하다고 생각되는 문제는 빠르게 풀 수 있기를! 

builtin function 정도는 정리가 되어 찾지 않고 바로 쓸 수 있기를!

내일은 replace와 count의 builtin function이 어떻게 되어있는지 파봐야겠음.