๋ฌธ์
์ํ๋ฒณ ๋์๋ฌธ์๋ก ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ๋ฌด์์ธ์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋จ์ด์ ๊ธธ์ด๋ 1,000,000์ ๋์ง ์๋๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ ๋๋ฌธ์๋ก ์ถ๋ ฅํ๋ค. ๋จ, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ์๋ ?๋ฅผ ์ถ๋ ฅํ๋ค.
ํด์ค ์ฝ๋
words = input().upper()
new_words = list(set(words)) # ์ค๋ณต์ ์ ์ธํ ์๋ก์ด words ๋ฐฐ์ด ๋ง๋ฆ
new_array = []
for x in new_words:
cnt = words.count(x)
# new_words ์ ๊ฐ์ ์์๋ฅผ ๊ฐ์ง words ์์ ๊ฐ์๋ฅผ ์
new_array.append(cnt)
# count ์ซ์ ์ต๋๊ฐ์ด 1๊ฐ๋ณด๋ค ๋ง์ ๊ฒฝ์ฐ
if new_array.count(max(new_array)) > 1 :
print("?")
# new_array์ ์ต๋๊ฐ์ index๋ฅผ ๊ตฌํจ
else :
max_index = new_array.index(max(new_array))
# max_index ์ ๊ฐ์ index์ ๋ฌธ์๋ฅผ new_words์์ ์ฐพ์ ์ถ๋ ฅ
print(new_words[max_index])
: ์ ๋ฌธ์ ์ ๊ฒฝ์ฐ, ์ ๋ ฅ๋ ๋ฌธ์์ด์์ ์ค๋ณต์ ์ ์ธํ ๊ฐ์ผ๋ก๋ง ์ด๋ฃจ์ด์ง ์๋ก์ด list ํจ์๋ฅผ ์์ฑํด ์ด๋ฅผ ๋ณธ๋ ์ ๋ ฅ๋ ๊ฐ๊ณผ ๋น๊ตํ๋ฉด์, ๊ฐ ๋ฌธ์๊ฐ ๋ช ๋ฒ ์ฌ์ฉ๋๋์ง์ ๋ํ ๊ฐ์ ๋น ๋ฐฐ์ด์ ์ถ๊ฐํ๋ ํ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ๊ทธ๋ฆฌ๊ณ count๊ฐ์๋ฅผ ์ผ ๊ฐ์ด ๋ด๊ธด ๋ฐฐ์ด์์์ ์ต๋๊ฐ์ด ํ๋ ์ด์ ์กด์ฌํ๋ ๊ฒฝ์ฐ๋ ๋ฌผ์ํ๋ฅผ ์ถ๋ ฅํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ count๊ฐ์๋ฅผ ์ผ ๊ฐ์ด ๋ด๊ธด ๋ฐฐ์ด์์์ ์ต๋๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ๊ณ , ๋ฌธ์์ด์์์ ์ค๋ณต๊ฐ์ ์ ์ธํด์ ์์ฑํ ๋ฆฌ์คํธ์์์ ๋์ผ index์ ๋ฌธ์์ด์ ์ถ๋ ฅํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค.
์๊ฒ๋ ์
- ์ ๋ ฅ๋ ๋ฌธ์์ด์์ ๊ฐ ๋ฌธ์๊ฐ ๋ช ๋ฒ ์ฌ์ฉ๋์๋ ์ง๋ฅผ, Set ํจ์๋ฅผ ์ด์ฉํด ๋ฌธ์์ด์ ์ค๋ณต ๋ฌธ์๋ฅผ ์ ์ธํ์ฌ ์์ฑํ ๋ฆฌ์คํธ์ ๋น๊ตํ์ฌ countํ๋ ์์ด๋์ด๋ฅผ ์๊ฒ๋์๋ค.
- ๋ฐฐ์ด.index(์์) ๋ฅผ ์ฌ์ฉํด์ ํด๋น ์์์ index๊ฐ์ ๊ตฌํ ์ ์์์ ์๊ฒ ๋์๋ค.
'Algorithm > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฌธ์์ด (#1120) (0) | 2022.04.03 |
---|---|
[BOJ] ํ์กฐ์์ด์ ๋ฆฌํ๊ณ ์ดใ ใ (#14659) (0) | 2022.04.01 |
[BOJ] ๋ถ๋ ํ์ฅ์ด ๋ ํ ์ผ (#2775) (0) | 2022.04.01 |
[BOJ] ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ - ๊ฑฐ์ค๋ฆ๋ (0) | 2022.03.30 |
[BOJ] ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ - ์คํ๋ฐฐ๋ฌ (0) | 2022.03.28 |