TIL (Today I Learned)/Algorithm

[λ°±μ€€] 1946번 Java

loki d 2021. 12. 20. 10:24
728x90

1946번 μ‹ μž…μ‚¬μ›

문제

μ–Έμ œλ‚˜ μ΅œκ³ λ§Œμ„ μ§€ν–₯ν•˜λŠ” κ΅΄μ§€μ˜ λŒ€κΈ°μ—… μ§„μ˜ μ£Όμ‹νšŒμ‚¬κ°€ μ‹ κ·œ 사원 μ±„μš©μ„ μ‹€μ‹œν•œλ‹€. 인재 μ„ λ°œ μ‹œν—˜μ€ 1μ°¨ μ„œλ₯˜μ‹¬μ‚¬μ™€ 2μ°¨ λ©΄μ ‘μ‹œν—˜μœΌλ‘œ 이루어진닀. μ΅œκ³ λ§Œμ„ μ§€ν–₯ν•œλ‹€λŠ” κΈ°μ—…μ˜ 이념에 따라 그듀은 졜고의 μΈμž¬λ“€λ§Œμ„ μ‚¬μ›μœΌλ‘œ μ„ λ°œν•˜κ³  μ‹Άμ–΄ ν•œλ‹€.

κ·Έλž˜μ„œ μ§„μ˜ μ£Όμ‹νšŒμ‚¬λŠ”, λ‹€λ₯Έ λͺ¨λ“  μ§€μ›μžμ™€ λΉ„κ΅ν–ˆμ„ λ•Œ μ„œλ₯˜μ‹¬μ‚¬ 성적과 λ©΄μ ‘μ‹œν—˜ 성적 쀑 적어도 ν•˜λ‚˜κ°€ λ‹€λ₯Έ μ§€μ›μžλ³΄λ‹€ λ–¨μ–΄μ§€μ§€ μ•ŠλŠ” 자만 μ„ λ°œν•œλ‹€λŠ” 원칙을 μ„Έμ› λ‹€. 즉, μ–΄λ–€ μ§€μ›μž A의 성적이 λ‹€λ₯Έ μ–΄λ–€ μ§€μ›μž B의 성적에 λΉ„ν•΄ μ„œλ₯˜ 심사 결과와 λ©΄μ ‘ 성적이 λͺ¨λ‘ λ–¨μ–΄μ§„λ‹€λ©΄ AλŠ” κ²°μ½” μ„ λ°œλ˜μ§€ μ•ŠλŠ”λ‹€.

μ΄λŸ¬ν•œ 쑰건을 λ§Œμ‘±μ‹œν‚€λ©΄μ„œ, μ§„μ˜ μ£Όμ‹νšŒμ‚¬κ°€ 이번 μ‹ κ·œ 사원 μ±„μš©μ—μ„œ μ„ λ°œν•  수 μžˆλŠ” μ‹ μž…μ‚¬μ›μ˜ μ΅œλŒ€ μΈμ›μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 μ€„μ—λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 T(1 ≀ T ≀ 20)κ°€ μ£Όμ–΄μ§„λ‹€. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 첫째 쀄에 μ§€μ›μžμ˜ 숫자 N(1 ≀ N ≀ 100,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ 쀄뢀터 N개 μ€„μ—λŠ” 각각의 μ§€μ›μžμ˜ μ„œλ₯˜μ‹¬μ‚¬ 성적, λ©΄μ ‘ μ„±μ μ˜ μˆœμœ„κ°€ 곡백을 사이에 두고 ν•œ 쀄에 μ£Όμ–΄μ§„λ‹€. 두 성적 μˆœμœ„λŠ” λͺ¨λ‘ 1μœ„λΆ€ν„° Nμœ„κΉŒμ§€ 동석차 없이 κ²°μ •λœλ‹€κ³  κ°€μ •ν•œλ‹€.

2
5
3 2
1 4
4 1
2 3
5 5
7
3 6
7 3
4 2
1 4
5 7
2 5
6 1

좜λ ₯

각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— λŒ€ν•΄μ„œ μ§„μ˜ μ£Όμ‹νšŒμ‚¬κ°€ μ„ λ°œν•  수 μžˆλŠ” μ‹ μž…μ‚¬μ›μ˜ μ΅œλŒ€ μΈμ›μˆ˜λ₯Ό ν•œ 쀄에 ν•˜λ‚˜μ”© 좜λ ₯ν•œλ‹€.

4
3

μ„€λͺ…

  1. μ§€μ›μž μˆ˜κ°€ 100,000일 경우λ₯Ό μƒκ°ν•΄μ„œ μ •λ ¬ν•΄μ„œ 풀이진행
  2. μ‚¬μ›μ˜ μ„œλ₯˜μ μˆ˜λ³΄λ‹€ 높은 μ§€μ›μžλ“€μ˜ λ©΄μ ‘μ μˆ˜λ₯Ό λΉ„κ΅ν•΄μ„œ 풀이 (그리디)

μ†ŒμŠ€μ½”λ“œ