์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ / ๋”•์…”๋„ˆ๋ฆฌ๋ž€? /

2022. 12. 28. 10:28ยทAlgorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ตœ๋นˆ๊ฐ’์€ ์ฃผ์–ด์ง„ ๊ฐ’ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ๋‚˜์˜ค๋Š” ๊ฐ’์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ •์ˆ˜ ๋ฐฐ์—ด array๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ๋นˆ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.
์ตœ๋นˆ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด -1์„ return ํ•ฉ๋‹ˆ๋‹ค.
array result
[1, 2, 3, 3, 3, 4] 3
[1, 1, 2, 2] -1
[1] 1

์ž…์ถœ๋ ฅ ์˜ˆ #1
[1, 2, 3, 3, 3, 4]์—์„œ 1์€ 1๊ฐœ 2๋Š” 1๊ฐœ 3์€ 3๊ฐœ 4๋Š” 1๊ฐœ๋กœ ์ตœ๋นˆ๊ฐ’์€ 3์ž…๋‹ˆ๋‹ค.


times_dict = {} # ๋น„์–ด ์žˆ๋Š” ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑ
for num in array: # ๋งค๊ฐœ๋ณ€์ˆ˜ array ์›์†Œ ์ˆœ์ฐจ

{ array์›์†Œ : ์ตœ๋นˆ๊ฐ’ } ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์นด์šดํ„ฐ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค์ž
if num not in times_dict: # ๋นˆ ๋ฐฐ์—ด์ด๊ธฐ ๋•Œ๋ฌธ์—
times_dict[num] = 0 # key์™€ value ๋ฅผ ์ƒ์„ฑ
times_dict[num] += 1 # ์นด์šดํ„ฐ ์ฆ๊ฐ€

mode_times = second_times = 0 # mode_times : ์ตœ๋นˆ๊ฐ’์˜ ํšŸ์ˆ˜ / second_times : ์ตœ๋นˆ๊ฐ’๊ณผ ๊ฐ™์€ ํšŸ์ˆ˜๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ
for num, times in times_dict.items(): # ๋”•์…”๋„ˆ๋ฆฌ {num:times} ์ฐจ๋ก€๋กœ ๋ฐ˜๋ณต
if times > mode_times: # ๋ฐ˜๋ณต๋ฌธ์ด๋‹ˆ๊นŒ ์ˆœ์ฐจ์ ์œผ๋กœ ๋น„๊ต , ์ดˆ๊ธฐ์— mode_times๋Š” 0 , ๊ทธ๋‹ค์Œ์—” ์ตœ๋นˆ๊ฐ’์˜ ํšŸ์ˆ˜
mode = num # ์ตœ๋นˆ๊ฐ’ ์„ค์ •
mode_times = times # ์ตœ๋นˆ๊ฐ’์˜ ํšŸ์ˆ˜ ์„ค์ •
elif times == mode_times: # ์ตœ๋นˆ๊ฐ’์˜ ํšŸ์ˆ˜๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ
second_times = times # second_times ์— ์ €์žฅ
return mode if mode_times != second_times else -1 # ์ตœ๋นˆ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด -1์ด return




โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”

๋”•์…”๋„ˆ๋ฆฌ
๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒํ˜•
Key์™€ Value๋ฅผ ํ•œ ์Œ์œผ๋กœ ๊ฐ–๋Š” ์ž๋ฃŒํ˜•
{Key1:Value1, Key2:Value2, Key3:Value3, ...}

>>> a.items()
items ํ•จ์ˆ˜๋Š” Key์™€ Value์˜ ์Œ์„ ํŠœํ”Œ๋กœ ๋ฌถ์€ ๊ฐ’์„ dict_items ๊ฐ์ฒด๋กœ ๋Œ๋ ค์ค€๋‹ค.


โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”โ€”

์ง‘ํ•ฉ์„ ์ด์šฉํ•˜์—ฌ๋„ ํ’€์ˆ˜ ์žˆ๋‹ค .

set(์ง‘ํ•ฉ)
์ˆœ์„œ๊ฐ€ ์—†๊ณ , ์ง‘ํ•ฉ์•ˆ์—์„œ๋Š” uniqueํ•œ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ dictionary์™€ ๋น„์Šทํ•˜์ง€๋งŒ, key๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ’๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
์ค‘๋ณต๋œ ๊ฐ’์€ ์ž๋™์œผ๋กœ ์ค‘๋ณต์ด ์ œ๊ฑฐ ๋ฉ๋‹ˆ๋‹ค.
>>> s = {1, 5, 1, 1, 1, 3, 7}
>>> s
{1, 3, 5, 7}


'Algorithm > ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์˜ท๊ฐ€๊ฒŒ ํ• ์ธ ๋ฐ›๊ธฐ / ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) ์ž๋ฃŒํ˜• ํ™œ์šฉํ•˜๊ธฐ  (0) 2022.12.28
ํ”ผ์ž ๋‚˜๋ˆ  ๋จน๊ธฐ (2) / ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ / lcm / gcd  (0) 2022.12.28
์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ / ( ๋ฐฐ์—ด ์ •๋ ฌํ•˜๊ธฐ )  (0) 2022.12.28
'Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ์˜ท๊ฐ€๊ฒŒ ํ• ์ธ ๋ฐ›๊ธฐ / ๋”•์…”๋„ˆ๋ฆฌ(Dictionary) ์ž๋ฃŒํ˜• ํ™œ์šฉํ•˜๊ธฐ
  • ํ”ผ์ž ๋‚˜๋ˆ  ๋จน๊ธฐ (2) / ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ / lcm / gcd
  • ์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ / ( ๋ฐฐ์—ด ์ •๋ ฌํ•˜๊ธฐ )
hello_u
hello_u
  • hello_u
    ๐Ÿ˜œ
    hello_u
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿ˜œ (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring ์ž…๋ฌธ (20)
        • Spring ๊ธฐ๋ณธ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA ๊ธฐ๋ณธ (16)
        • Spring JPA ํ™œ์šฉ (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp ๊ธฐ์ดˆ (44)
        • ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (64)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • ์ปดํ“จํ„ฐ์ผ๋ฐ˜ (3)
        • ์šด์˜์ฒด์ œ (3)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
        • ์ •๋ณดํ†ต์‹  (1)
        • ์ž๋ฃŒ๊ตฌ์กฐ (1)
        • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ (1)
        • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (0)
        • ์ตœ์‹  ๋””์ง€ํ„ธ, ์ผ๋ฐ˜์ƒ์‹ (0)
      • ์ž๊ฒฉ์ฆ (41)
        • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ (9)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (22)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (3)
        • SQLD (7)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
hello_u
์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ / ๋”•์…”๋„ˆ๋ฆฌ๋ž€? /
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”