๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm/BOJ

[BOJ] ๊ตฌํ˜„ - ๋‹จ์–ด๊ณต๋ถ€

 

 

๋ฌธ์ œ 

 

์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

 

์ž…๋ ฅ

 

์ฒซ์งธ ์ค„์— ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 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๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.