ํ์ด์ฌ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ํ์ด๋ณด์.
ํ์ด์ฌ์ด๋ ์นํด์ง๊ธฐ์ํด ๋ธ๋ก ์ฆ ๋ฌธ์ ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ํ์ด๋ณด๋ ค๊ณ ํ๋ค.
๋ค์ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ํ์ด์ฌ์ dictionary๋ฅผ ํ์ตํ๋ค.
๋ฌธ์
์ํ๋ฒณ ๋์๋ฌธ์๋ก ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ๋ฌด์์ธ์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋จ์ด์ ๊ธธ์ด๋ 1,000,000์ ๋์ง ์๋๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ ๋๋ฌธ์๋ก ์ถ๋ ฅํ๋ค. ๋จ, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ?๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด์ฌ์ด๋ ์นํด์ง๊ธฐ
dictionary ์ฌ์ฉํ๊ธฐ
python์ dictionary๋ key, value ํํ์ ์๋ฃํ์ผ๋ก java์ Map๊ณผ ์ ์ฌํ ํํ๋ฅผ ๋๊ณ ์๋ค.
python์ dictionary๋ ์์๊ฐ ์๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ ์ธํ๊ณ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
dic = {'a': 1, 'b': 2}
dic['a'] = 4
max ํจ์์ฌ์ฉํ๊ธฐ
python์ max, min ํจ์๋ iteratableํ ์๋ฃํ์ ๋ฃ์ผ๋ฉด ํด๋น ๊ฐ์์ ์ต๋, ์ต์๊ฐ์ ๊ฐ์ ธ์จ๋ค.
dic = { 'a':1, 'b':2 }
max(
๋ ํจ์์ ์ฝ๋ผ๋ณด
๋ ํจ์๋ฅผ ์ ์ ํ ์์ด์ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ ๋ฝ์๋ณด์.
max ํจ์๋ฅผ ์ฌ์ฉํ ๋ key๋ผ๋ ์ธ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ค ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ต๋๊ฐ์ ๊ตฌํ ์ง ์ง์ ํ ์ ์๋ค.
์๋ ์ฝ๋๋ฅผ ํด์ํ๋ฉด dictionary์์ get์ผ๋ก ์ป์ด์ค๋ value๋ฅผ ๊ธฐ์ค์ผ๋ก ์ต๋๊ฐ์ ๊ตฌํ๋ค. ๋ผ๊ณ ๋ณผ ์ ์๋ค.
str = input().upper()
dic = {}
for i in str:
if i not in dic:
dic[i] = 0
dic[i] += 1
print(max(dic, key=dic.get))
์ด์ ๋ฌธ์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ธฐ ์ํด ๋๊ฐ ์ด์์ ์ต๋๊ฐ์ด ์กด์ฌํ๋ฉด ?๋ฅผ ๋์ฐ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
์ฝ๋
str = input().upper()
dic = {}
for i in str:
if i not in dic:
dic[i] = 0
dic[i] += 1
result = []
m = max(dic.values())
for key, val in dic.items():
if m == val:
result.append(key)
if len(result) != 1:
print('?')
else:
print(result[0])
https://www.acmicpc.net/problem/1157
'๐ฅ๏ธ Computer > Algorithm Solution' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] 18110๋ฒ : solved.ac (0) | 2023.07.25 |
---|---|
[BAEKJOON] 27866๋ฒ : ๋ฌธ์์ ๋ฌธ์์ด (0) | 2023.07.25 |
[BAEKJOON] 10814๋ฒ : ๋์ด์ ์ ๋ ฌ (0) | 2021.12.11 |
[BAEKJOON] 2960๋ฒ : ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (0) | 2020.07.09 |
[LeetCode] 389. Find the Difference (1) | 2020.03.25 |