๐Ÿ“˜ Programming/Python

[Python3] Collections ํ™œ์šฉ ์˜ˆ์ œ (๋ฌธ์ž์—ด ์ค‘ ๊ฐ€์žฅ ๋งŽ์€ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ)

ํ•œ์ฝ”๋”ฉ 2020. 10. 5. 11:37
728x90
728x90

๋ฌธ์ž์—ด ์ค‘ ๊ฐ€์žฅ ๋งŽ์€ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ

my_str = input().strip()

res = ""
arr = [0 for i in range(26)]

for i in my_str:
  # ord(alphabet) : ์•ŒํŒŒ๋ฒณ์„ ์•„์Šคํ‚ค์ฝ”๋“œ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜ ( a -> 97 )
  arr[ord(i) - 97] += 1 

for i in range(26):
  if arr[i] == max(arr):
    res += chr(i+97)

print (res)

 

์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ์•ŒํŒŒ๋ฒณ์„ ์‚ฌ์ „์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

 

ordํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ASCII์ฝ”๋“œ ๊ฐ’๊ณผ ์ •์ˆ˜์—ฐ์‚ฐ์œผ๋กœ ๊ตฌํ˜„ํ•œ ์†Œ์Šค์ฝ”๋“œ์ด๋‹ค.

 

 

๋ฆฌ์ŠคํŠธ ๋‚ด ์ค‘๋ณต ์›์†Œ์˜ ๊ฐฏ์ˆ˜ ๊ตฌํ•˜๊ธฐ

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0]
answer = {}
for number in my_list:
    try:
        answer[number] += 1
    except KeyError:
        answer[number] = 1

print(answer[1]) # = 4
print(answer[3])  # = 3
print(answer[100])  # =  raise KeyError

 

์œ„ ์˜ˆ์ œ์™€ ๋‹ค๋ฅด๊ฒŒ ์ฃผ์–ด์ง„ ๋ฆฌ์ŠคํŠธ ๋‚ด์˜ ์›์†Œ๋“ค์˜ ๊ฐ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด

 

1์ด ๋ช‡๊ฐœ์ธ์ง€ ์ฐพ๊ฑฐ๋‚˜, 3์ด ๋ช‡๊ฐœ์ธ์ง€ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์ด์šฉํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ, ๋‘ ์˜ˆ์ œ์™€ ๋‹ฌ๋ฆฌ ํŒŒ์ด์ฌ ์ฝ”๋“œ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ๊ธด ์ฝ”๋“œ๋ฅผ ํ•จ์ถ•ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ๋‹ค.

 

 

Collections.Counter ํ™œ์šฉํ•˜์—ฌ ๊ตฌํ˜„

import collections
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0]
answer = collections.Counter(my_list)

print(answer[1]) # = 4
print(answer[3])  # = 3
print(answer[100]) # = 0

 

Collections.Counter( ๋ฆฌ์ŠคํŠธ ) ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

ํ•œ ๋ฆฌ์ŠคํŠธ์˜ ์ €์žฅ๋œ ์›์†Œ๋“ค์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

์˜ˆ๋ฅผ๋“ค์–ด, my_list์—๋Š” 1์ด๋ผ๋Š” ์›์†Œ๊ฐ€ 4๊ฐœ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

answer = collections.Counter(my_list)

print (answer[1])

 

answer[1]์—๋Š” my_list์˜ 1์ด๋ผ๋Š” ์›์†Œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค.

 

์ฆ‰, 4๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•