πŸ‘©‍πŸ’»κ°œλ°œ_TIL/μ½”λ”©ν…ŒμŠ€νŠΈ

κ°€μš°μŠ€μ˜ 재림으둜 μ•Œμ•„λ³Έ κ°€μš°μŠ€ 곡식 (λ“±μ°¨μˆ˜μ—΄μ˜ ν•©)

Daisy.lee 2022. 1. 27. 11:38

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ Level 1 λ¬Έμ œλ“€μ„ ν’€λ©΄μ„œ μœ λ… 자주 보이던 풀이가 λ°”λ‘œ κ°€μš°μŠ€ 계산법이라고도 λΆˆλ¦¬λŠ” λ“±μ°¨μˆ˜μ—΄μ˜ ν•©μž…λ‹ˆλ‹€. μ—°μ†ν•œ 두 ν•­μ˜ μ°¨κ°€ μΌμ •ν•œ λ“±μ°¨μˆ˜μ—΄μ˜ 합은 첫 ν•­κ³Ό λ§ˆμ§€λ§‰ 항을 λ”ν•œ λ’€ ν•­μ˜ 개수λ₯Ό κ³±ν•˜κ³  2둜 λ‚˜λˆˆ 값이 λ©λ‹ˆλ‹€. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 문제 μ€‘μ—μ„œλŠ” '두 μ •μˆ˜ μ‚¬μ΄μ˜ ν•©', 'λΆ€μ‘±ν•œ κΈˆμ•‘ κ³„μ‚°ν•˜κΈ°'μ—μ„œ ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

'두 μ •μˆ˜ μ‚¬μ΄μ˜ ν•©'μ΄λΌλŠ” λ¬Έμ œμ—μ„œ 'κ°€μš°μŠ€μ˜ 재림'이라고 극찬을 받은 ν’€μ΄λ²•μž…λ‹ˆλ‹€γ…Žγ…Ž

λ“±μ°¨μˆ˜μ—΄μ˜ 합을 써먹어 λ΄…μ‹œλ‹€

이 κ°„λ‹¨ν•œ 곡식을 μ‚¬μš©ν•˜λ©΄ λ‚˜μ€‘μ—λ„ μœ μš©ν•˜κ² λ‹€κ³  μƒκ°ν•΄μ„œ, '두 μ •μˆ˜ μ‚¬μ΄μ˜ ν•©'μ΄λΌλŠ” 문제λ₯Ό 쑰금 더 λ“€μ—¬λ‹€λ³΄λ©΄μ„œ λ“±μ°¨μˆ˜μ—΄μ˜ 합을 ν™œμš©ν•˜λŠ” 방법을 μ •λ¦¬ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€. 두 μ •μˆ˜ a, b 사이에 μ†ν•œ μ •μˆ˜λ₯Ό ν¬ν•¨ν•œ μ •μˆ˜μ˜ 합을 λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜λŠ” λ¬Έμ œμž…λ‹ˆλ‹€.

https://programmers.co.kr/learn/courses/30/lessons/12912

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - 두 μ •μˆ˜ μ‚¬μ΄μ˜ ν•©

두 μ •μˆ˜ a, bκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ a와 b 사이에 μ†ν•œ λͺ¨λ“  μ •μˆ˜μ˜ 합을 λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•˜μ„Έμš”. 예λ₯Ό λ“€μ–΄ a = 3, b = 5인 경우, 3 + 4 + 5 = 12μ΄λ―€λ‘œ 12λ₯Ό λ¦¬ν„΄ν•©λ‹ˆλ‹€. μ œν•œ 쑰건 a와 bκ°€ 같은 경우

programmers.co.kr

예λ₯Ό λ“€μ–΄ a = 3이고 b = 5라면, 3 + 4 + 5 = 12 와 같은 λ°©μ‹μž…λ‹ˆλ‹€.

μ •μˆ˜λŠ” μ—°μ†ν•˜λŠ” 두 ν•­μ˜ μ°¨κ°€ 1인 λ“±μ°¨μˆ˜μ—΄μ΄λ―€λ‘œ λ“±μ°¨μˆ˜μ—΄μ˜ ν•© 곡식을 μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

(λ“±μ°¨μˆ˜μ—΄μ˜ ν•©) = {(첫 ν•­ + λ§ˆμ§€λ§‰ ν•­) * (ν•­μ˜ 개수)} / 2

 

μœ„μ˜ μ˜ˆμ‹œμ— μ μš©ν•΄λ³΄λ©΄,

(첫 ν•­ + λ§ˆμ§€λ§‰ ν•­) = a + b

(ν•­μ˜ 개수) = b - a + 1

 

이런 μ‹μœΌλ‘œ 곡식에 λŒ€μž…ν•˜κ³ , μ œν•œ 쑰건에 따라 μ½”λ“œλ₯Ό μˆ˜μ •ν•˜λ©΄ λ©λ‹ˆλ‹€. 특히 ν•­μ˜ κ°œμˆ˜λŠ” 주어지지 μ•ŠλŠ” κ²½μš°κ°€ μΌλ°˜μ μ΄λ―€λ‘œ ν…ŒμŠ€νŠΈ μ½”λ“œμ˜ μž…μΆœλ ₯을 λ³΄λ©΄μ„œ μ μ ˆν•˜κ²Œ 식을 λ§Œλ“€λ©΄ λ˜κ² μŠ΅λ‹ˆλ‹€. λ˜ν•œ ν•΄λ‹Ή ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ λ¬Έμ œμ—μ„œλŠ” a 와 b의 λŒ€μˆ˜κ΄€κ³„κ°€ μ •ν•΄μ Έμžˆμ§€ μ•Šλ‹€λŠ” μ œν•œμ„ 두고 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ•žμ„œ λ³Έ 풀이(feat. κ°€μš°μŠ€μ˜ 재림...)μ—μ„œλŠ” ν•­μ˜ κ°œμˆ˜κ°€ μŒμˆ˜κ°€ λ‚˜μ˜€μ§€ μ•Šλ„λ‘ Math.abs λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ ˆλŒ€κ°’μ„ λ°˜ν™˜ν•˜λ„λ‘ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.   


λ“±μ°¨μˆ˜μ—΄μ˜ 합을 μ΄μš©ν•œ 풀이λ₯Ό λ³΄μ•˜μ„ λ•Œλ„ 쒋은 방법이라고 μƒκ°ν–ˆλŠ”λ°, λ‹€λ₯Έ λ¬Έμ œμ—μ„œλ„ μ΄μš©ν•˜λŠ” 것을 보고 κΌ­ 정리λ₯Ό ν•΄μ•Όκ² λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. μ €μ—­μ‹œ κΎΈμ€€νžˆ μ½”λ”©ν…ŒμŠ€νŠΈ 문제λ₯Ό ν’€λ©΄μ„œ μ‹€λ ₯이 ν–₯μƒλ˜λŠ” 그날을 기닀리며 λ§Žμ€ 것을 μ•Œμ•„κ°€κ³  κ³΅μœ ν•˜κ² μŠ΅λ‹ˆλ‹€.😎