- Problem : 약 10000에 달하는 글자의 배열 string 이 주어진다 -> string안에 space로 구분되는 각 단어의 수를 구하라. 각 단어는 대소문자가 구분되어 있음.
- Sample Dataset
We tried list and we tried dicts also we tried Zen
- Sample Output
and 1
We 1
tried 3
dicts 1
list 1
we 2
also 1
Zen 1
- 내 풀이 1_.count 사용
a = input()
#띄어쓰기 단위로 잘라서 list로 저장
al = a.split(' ')
#dictionary에 각 단어와 count를 추가
d = {}
for i in al :
d[i] = al.count(i)
#마지막으로 출력
for i in d :
print(i,d[i])
- 내 풀이 2_.items() 사용
a = ' ~예시 '
D = a.split(' ')
C = {}
for i in range(len(D)) :
C[D[i]] = D.count(D[i])
for key, value in C.items():
print (key, value, end = ' '+ '\n')
- 추천수 제일 높은 풀이
with open('rosalind_ini6.txt', 'r') as f:
from collections import Counter
for key, value in Counter(str(f.readlines()).split()).items(): print(key, value)
감탄밖에 안나옴... O,O;;
string = 'example text'
word_counts = {}
for s in string.split():
word_counts[s] = word_counts.get(s,0) + 1
for w in word_counts:
print w, word_counts[w]
그나마 이해하기 쉬운 풀이
반응형