πŸ“ŒΒ κ΅¬ν•΄μ•Ό ν•˜λŠ” μ •λ‹΅

ν•™μƒλ“€μ˜ 생일 정보λ₯Ό ν† λŒ€λ‘œ, λ‚˜μ΄κ°€ κ°€μž₯ 적은 μ‚¬λžŒκ³Ό λ‚˜μ΄κ°€ κ°€μž₯ λ§Žμ€ μ‚¬λžŒμ„ 좜λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

πŸ“ŒΒ ν’€μ΄ ν•˜κΈ°

1️⃣ 생일 μ •λ³΄λ‘œ λ‚˜μ΄ 정보 κ΅¬ν•˜κΈ°

μ—¬κΈ°μ„œ μ•„μ£Ό μ•½κ°„μ˜ 아이디어가 ν•„μš”ν•©λ‹ˆλ‹€.

생일 정보λ₯Ό ν† λŒ€λ‘œ λ‚˜μ΄λ₯Ό 직접 계산할 μˆ˜λ„ μžˆμ§€λ§Œ,

μš°λ¦¬λŠ” μ •ν™•ν•œ λ‚˜μ΄λ₯Ό μ•Œμ•„λ‚Ό ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€.

λ‚˜μ΄κ°€ κ°€μž₯ 적은 μ‚¬λžŒκ³Ό λ‚˜μ΄κ°€ κ°€μž₯ λ§Žμ€ μ‚¬λžŒλ§Œ μ•Œλ©΄ λ˜λŠ” κ²ƒμΈλ°μš”, μ–΄λ–»κ²Œ μ•Œ 수 μžˆμ„κΉŒμš”?

μƒμΌμ˜ 년도 β†’ μ›” β†’ 일 순으둜 μ •λ ¬ μš°μ„ μˆœμœ„λ₯Ό 가지고 학생듀을 μ •λ ¬ν•˜λ©΄ λ©λ‹ˆλ‹€.

2️⃣ 년, μ›” , 일 순으둜 μ •λ ¬ν•˜κΈ°

μ•žμ„  단어 μ •λ ¬ λ¬Έμ œμ—μ„œ , 닀차원 배열을 μ •λ ¬ν•˜λ©΄ μ•žμ˜ μ—΄ λΆ€ν„° μš°μ„ μˆœμœ„λ₯Ό 가지고 μ •λ ¬ 됨을 λ°°μ› μŠ΅λ‹ˆλ‹€.

그러면 이 문제의 input을 μ–΄λ–€ ν˜•νƒœλ‘œ μ €μž₯ν•΄μ•Ό ν• κΉŒμš”? β†’ [yyyy,mm,dd,name] μ΄λ ‡κ²Œ μ •λ ¬ν•˜λ©΄ 되겠죠.

[1991 , 10, 1, Mickey]

[1990, 12, 30, Alice]

그런 후에 닀차원 배열을 μ •λ ¬ν•˜κ³ , κ°€μž₯ μ•žκ³Ό λ’€μ˜ 4번째 μ›μ†ŒμΈ 이름을 좜λ ₯ν•΄μ£Όλ©΄ λ©λ‹ˆλ‹€.

이 λ•Œ λ‚˜μ΄κ°€ κ°€μž₯ 적은 μ‚¬λžŒμ΄ λ°°μ—΄μ˜ 맨 λ’€, λ‚˜μ΄κ°€ κ°€μž₯ λ§Žμ€ μ‚¬λžŒμ΄ λ°°μ—΄μ˜ 맨 μ•žμ— 있게 되겠죠?

N개의 배열을 μ •λ ¬ν•˜λŠ” μ‹œκ°„λ³΅μž‘λ„λŠ” O(NlogN)으둜 , N이 μ΅œλŒ€ 100개 이기 λ•Œλ¬Έμ— μ•½ 200개의 연산이 ν•„μš”ν•˜κ³ 

μ‹œκ°„ 1초 μ•ˆμ— μΆ©λΆ„νžˆ κ°€λŠ₯ν•œ 연산이 λ˜κ² λ„€μš”.

λ‹€λ₯Έ 풀이