Write-up

[Python Challenge] level 2

ch4rli3kop 2019. 4. 13. 21:59
반응형

python challenge 2

find rare characters라고 했으니 우선 주어진 문자열 덩어리를 문자: 개수 형태로 만들어본다.

>>> t = collections.OrderedDict()
>>> t
OrderedDict()
>>> for i in a:
...     if i not in t:
...             t[i] = 1
...     else:
...             t[i] += 1
...
>>> t
OrderedDict([('%', 6103), ('$', 6041), ('@', 6152), ('_', 6107), ('^', 6027), ('#', 6110), (')', 6179), ('&', 6040), ('!', 6076), ('+', 6059), (']', 6143), ('*', 6030), ('}', 6096), ('[', 6104), ('(', 6146), ('{', 6042), ('\n', 1219), ('e', 1), ('q', 1), ('u', 1), ('a', 1), ('l', 1), ('i', 1), ('t', 1), ('y', 1)])

정렬해보면, rare한 문자는 각각 한 번씩 등장한 e, q, u, a, l, i, t, y이다.

next : http://www.pythonchallenge.com/pc/def/equality.html solution : http://www.pythonchallenge.com/pcc/def/equality.html

일반 딕셔너리 형태는 사전형의 순서가 키의 값에 따라서 자동으로 정렬되는데, 경우에 따라서 저장한 순서대로 정렬된 사전형이 필요한 경우가 있다. 이런 경우 collection 모듈의 OrderedDict()를 활용할 수 있다.


반응형

'Write-up' 카테고리의 다른 글

[Python Challenge] level 4  (0) 2019.04.13
[Python Challenge] level 3  (0) 2019.04.13
[Python Challenge] level 1  (0) 2019.04.13
[Python Challenge] level 0  (0) 2019.04.13
[SuNiNaTas] level 23  (0) 2019.04.13