λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

전체 κΈ€

(97)
[Algorithm] 숫자 νƒ€μž λŒ€νšŒ πŸ“‹ 문제 μœ„μ™€ 같은 λͺ¨μ–‘μœΌλ‘œ λ°°μ—΄λœ 숫자 자판이 μžˆμŠ΅λ‹ˆλ‹€. 숫자 νƒ€μž λŒ€νšŒλŠ” 이 λ™μΌν•œ μžνŒμ„ μ‚¬μš©ν•˜μ—¬ 숫자둜만 이루어진 κΈ΄ λ¬Έμžμ—΄μ„ λˆ„κ°€ κ°€μž₯ λΉ λ₯΄κ²Œ νƒ€μ΄ν•‘ν•˜λŠ”μ§€ κ²¨λ£¨λŠ” λŒ€νšŒμž…λ‹ˆλ‹€. λŒ€νšŒμ— μ°Έκ°€ν•˜λ €λŠ” λ―Όν¬λŠ” 두 μ—„μ§€ 손가락을 μ΄μš©ν•˜μ—¬ 타이핑을 ν•©λ‹ˆλ‹€. λ―Όν¬λŠ” 항상 왼손 μ—„μ§€λ₯Ό 4 μœ„μ—, 였λ₯Έμ† μ—„μ§€λ₯Ό 6 μœ„μ— 두고 타이핑을 μ‹œμž‘ν•©λ‹ˆλ‹€. μ—„μ§€ 손가락을 움직여 λ‹€μŒ 숫자λ₯Ό λˆ„λ₯΄λŠ” λ°μ—λŠ” 일정 μ‹œκ°„μ΄ λ“­λ‹ˆλ‹€. λ―Όν¬λŠ” μ–΄λ–€ 두 숫자λ₯Ό μ—°μ†μœΌλ‘œ μž…λ ₯ν•˜λŠ” μ‹œκ°„ λΉ„μš©μ„ λͺ‡λͺ‡ κ°€μ€‘μΉ˜λ‘œ λΆ„λ₯˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ΄λ™ν•˜μ§€ μ•Šκ³  μ œμžλ¦¬μ—μ„œ λ‹€μ‹œ λˆ„λ₯΄λŠ” 것은 κ°€μ€‘μΉ˜κ°€ 1μž…λ‹ˆλ‹€. μƒν•˜μ’Œμš°λ‘œ μΈμ ‘ν•œ 숫자둜 μ΄λ™ν•˜μ—¬ λˆ„λ₯΄λŠ” 것은 κ°€μ€‘μΉ˜κ°€ 2μž…λ‹ˆλ‹€. λŒ€κ°μ„ μœΌλ‘œ μΈμ ‘ν•œ 숫자둜 μ΄λ™ν•˜μ—¬ λˆ„λ₯΄λŠ” 것은 κ°€μ€‘μΉ˜κ°€ 3μž…λ‹ˆλ‹€. κ°™μ§€ μ•Šκ³  μΈμ ‘ν•˜μ§€ μ•Šμ€..
[Algorithm] 금과 은 μš΄λ°˜ν•˜κΈ° πŸ“‹ 문제 μ–΄λŠ 왕ꡭ에 ν•˜λ‚˜ μ΄μƒμ˜ λ„μ‹œλ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€. μ™•κ΅­μ˜ 왕은 μƒˆ λ„μ‹œλ₯Ό μ§“κΈ°λ‘œ κ²°μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή λ„μ‹œλ₯Ό μ§“κΈ° μœ„ν•΄μ„œλŠ” λ„μ‹œλ₯Ό μ§“λŠ” μž₯μ†Œμ— 금 a kgκ³Ό 은 b kg이 μ „λ‹¬λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 각 λ„μ‹œμ—λŠ” λ²ˆν˜Έκ°€ 맀겨져 μžˆλŠ”λ°, i번 λ„μ‹œμ—λŠ” 금 g[i] kg, 은 s[i] kg, 그리고 트럭 ν•œ λŒ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. i번 λ„μ‹œμ˜ νŠΈλŸ­μ€ 였직 μƒˆ λ„μ‹œλ₯Ό μ§“λŠ” 건섀 μž₯μ†Œμ™€ i번 λ„μ‹œλ§Œμ„ 왕볡할 수 있으며, νŽΈλ„λ‘œ μ΄λ™ν•˜λŠ” 데 t[i] μ‹œκ°„μ΄ 걸리고, μ΅œλŒ€ w[i] kg 광물을 μš΄λ°˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (광물은 금과 μ€μž…λ‹ˆλ‹€. 즉, 금과 은을 λ™μ‹œμ— μš΄λ°˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.) λͺ¨λ“  νŠΈλŸ­μ€ 같은 λ„λ‘œλ₯Ό μ—¬λŸ¬ 번 왕볡할 수 있으며 μ—°λ£ŒλŠ” λ¬΄ν•œλŒ€λΌκ³  κ°€μ •ν•©λ‹ˆλ‹€. μ •μˆ˜ a, b와 μ •μˆ˜ λ°°μ—΄ g, s, w, tκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Ό..
[Algorithm] 연속 νŽ„μŠ€ λΆ€λΆ„ μˆ˜μ—΄μ˜ ν•© πŸ“‹ 문제 μ–΄λ–€ μˆ˜μ—΄μ˜ 연속 λΆ€λΆ„ μˆ˜μ—΄μ— 같은 길이의 νŽ„μŠ€ μˆ˜μ—΄μ„ 각 μ›μ†ŒλΌλ¦¬ κ³±ν•˜μ—¬ 연속 νŽ„μŠ€ λΆ€λΆ„ μˆ˜μ—΄μ„ λ§Œλ“€λ € ν•©λ‹ˆλ‹€. νŽ„μŠ€ μˆ˜μ—΄μ΄λž€ [1, -1, 1, -1 …] λ˜λŠ” [-1, 1, -1, 1 …] κ³Ό 같이 1 λ˜λŠ” -1둜 μ‹œμž‘ν•˜λ©΄μ„œ 1κ³Ό -1이 λ²ˆκ°ˆμ•„ λ‚˜μ˜€λŠ” μˆ˜μ—΄μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μˆ˜μ—΄ [2, 3, -6, 1, 3, -1, 2, 4]의 연속 λΆ€λΆ„ μˆ˜μ—΄ [3, -6, 1]에 νŽ„μŠ€ μˆ˜μ—΄ [1, -1, 1]을 κ³±ν•˜λ©΄ 연속 νŽ„μŠ€ λΆ€λΆ„μˆ˜μ—΄μ€ [3, 6, 1]이 λ©λ‹ˆλ‹€. 또 λ‹€λ₯Έ μ˜ˆμ‹œλ‘œ 연속 λΆ€λΆ„ μˆ˜μ—΄ [3, -1, 2, 4]에 νŽ„μŠ€ μˆ˜μ—΄ [-1, 1, -1, 1]을 κ³±ν•˜λ©΄ 연속 νŽ„μŠ€ λΆ€λΆ„μˆ˜μ—΄μ€ [-3, -1, -2, 4]이 λ©λ‹ˆλ‹€. μ •μˆ˜ μˆ˜μ—΄ sequenceκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 연속 νŽ„μŠ€ λΆ€λΆ„ μˆ˜μ—΄μ˜..
[Algorithm] κ±°μŠ€λ¦„λˆ πŸ“‹ 문제 Finn은 νŽΈμ˜μ μ—μ„œ μ•Όκ°„ μ•„λ₯΄λ°”μ΄νŠΈλ₯Ό ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 야간에 μ†λ‹˜μ΄ λ„ˆλ¬΄ μ—†μ–΄ μ‹¬μ‹¬ν•œ Finn은 μ†λ‹˜λ“€κ»˜ κ±°μŠ€λ¦„λˆμ„ n 원을 쀄 λ•Œ λ°©λ²•μ˜ 경우의 수λ₯Ό κ΅¬ν•˜κΈ°λ‘œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄μ„œ μ†λ‹˜κ»˜ 5원을 거슬러 μ€˜μ•Ό ν•˜κ³  1원, 2원, 5원이 μžˆλ‹€λ©΄ λ‹€μŒκ³Ό 같이 4κ°€μ§€ λ°©λ²•μœΌλ‘œ 5원을 거슬러 쀄 수 μžˆμŠ΅λ‹ˆλ‹€. 1원을 5개 μ‚¬μš©ν•΄μ„œ 거슬러 μ€€λ‹€. 1원을 3개 μ‚¬μš©ν•˜κ³ , 2원을 1개 μ‚¬μš©ν•΄μ„œ 거슬러 μ€€λ‹€. 1원을 1개 μ‚¬μš©ν•˜κ³ , 2원을 2개 μ‚¬μš©ν•΄μ„œ 거슬러 μ€€λ‹€. 5원을 1개 μ‚¬μš©ν•΄μ„œ 거슬러 μ€€λ‹€. 거슬러 μ€˜μ•Ό ν•˜λŠ” κΈˆμ•‘ nκ³Ό Finn이 ν˜„μž¬ λ³΄μœ ν•˜κ³  μžˆλŠ” 돈의 μ’…λ₯˜ moneyκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, Finn이 n 원을 거슬러 쀄 λ°©λ²•μ˜ 수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”..
[Algorithm] 외벽점검 πŸ“‹ 문제 λ ˆμŠ€ν† λž‘μ„ μš΄μ˜ν•˜κ³  μžˆλŠ” "μŠ€μΉ΄ν”Ό"λŠ” λ ˆμŠ€ν† λž‘ λ‚΄λΆ€κ°€ λ„ˆλ¬΄ λ‚‘μ•„ μΉœκ΅¬λ“€κ³Ό ν•¨κ»˜ 직접 리λͺ¨λΈλ§ ν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€. λ ˆμŠ€ν† λž‘μ΄ μžˆλŠ” 곳은 μŠ€λ…Έμš°νƒ€μš΄μœΌλ‘œ 맀우 μΆ”μš΄ μ§€μ—­μ΄μ–΄μ„œ λ‚΄λΆ€ 곡사λ₯Ό ν•˜λŠ” 도쀑에 주기적으둜 μ™Έλ²½μ˜ μƒνƒœλ₯Ό 점검해야 ν•  ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ ˆμŠ€ν† λž‘μ˜ κ΅¬μ‘°λŠ” μ™„μ „νžˆ λ™κ·Έλž€ λͺ¨μ–‘이고 μ™Έλ²½μ˜ 총 λ‘˜λ ˆλŠ” n미터이며, μ™Έλ²½μ˜ λͺ‡λͺ‡ 지점은 μΆ”μœ„κ°€ 심할 경우 손상될 μˆ˜λ„ μžˆλŠ” μ·¨μ•½ν•œ 지점듀이 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ λ‚΄λΆ€ 곡사 도쀑에도 μ™Έλ²½μ˜ μ·¨μ•½ 지점듀이 μ†μƒλ˜μ§€ μ•Šμ•˜λŠ” μ§€, 주기적으둜 μΉœκ΅¬λ“€μ„ λ³΄λ‚΄μ„œ 점검을 ν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€. λ‹€λ§Œ, λΉ λ₯Έ 곡사 진행을 μœ„ν•΄ 점검 μ‹œκ°„μ„ 1μ‹œκ°„μœΌλ‘œ μ œν•œν–ˆμŠ΅λ‹ˆλ‹€. μΉœκ΅¬λ“€μ΄ 1μ‹œκ°„ λ™μ•ˆ 이동할 수 μžˆλŠ” κ±°λ¦¬λŠ” 제각각이기 λ•Œλ¬Έμ—, μ΅œμ†Œν•œμ˜ μΉœκ΅¬λ“€μ„ νˆ¬μž…ν•΄ μ·¨μ•½ 지점을 μ κ²€ν•˜κ³  ..
[Algorithm] ν…Œμ΄λΈ” ν•΄μ‹œ ν•¨μˆ˜ πŸ“‹ 문제 μ™„ν˜Έκ°€ κ΄€λ¦¬ν•˜λŠ” μ–΄λ–€ λ°μ΄ν„°λ² μ΄μŠ€μ˜ ν•œ ν…Œμ΄λΈ”μ€ λͺ¨λ‘ μ •μˆ˜ νƒ€μž…μΈ μ»¬λŸΌλ“€λ‘œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€. ν…Œμ΄λΈ”μ€ 2차원 ν–‰λ ¬λ‘œ ν‘œν˜„ν•  수 있으며 열은 μ»¬λŸΌμ„ λ‚˜νƒ€λ‚΄κ³ , 행은 νŠœν”Œμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 첫 번째 μ»¬λŸΌμ€ κΈ°λ³Έν‚€λ‘œμ„œ λͺ¨λ“  νŠœν”Œμ— λŒ€ν•΄ κ·Έ 값이 μ€‘λ³΅λ˜μ§€ μ•Šλ„λ‘ 보μž₯λ©λ‹ˆλ‹€. μ™„ν˜ΈλŠ” 이 ν…Œμ΄λΈ”μ— λŒ€ν•œ ν•΄μ‹œ ν•¨μˆ˜λ₯Ό λ‹€μŒκ³Ό 같이 μ •μ˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€. ν•΄μ‹œ ν•¨μˆ˜λŠ” col, row_begin, row_end을 μž…λ ₯으둜 λ°›μŠ΅λ‹ˆλ‹€. ν…Œμ΄λΈ”μ˜ νŠœν”Œμ„ col번째 컬럼의 값을 κΈ°μ€€μœΌλ‘œ μ˜€λ¦„μ°¨μˆœ 정렬을 ν•˜λ˜, λ§Œμ•½ κ·Έ 값이 λ™μΌν•˜λ©΄ 기본킀인 첫 번째 컬럼의 값을 κΈ°μ€€μœΌλ‘œ λ‚΄λ¦Όμ°¨μˆœ μ •λ ¬ν•©λ‹ˆλ‹€. μ •λ ¬λœ λ°μ΄ν„°μ—μ„œ S_iλ₯Ό i 번째 ν–‰μ˜ νŠœν”Œμ— λŒ€ν•΄ 각 컬럼의 값을 i 둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ“€μ˜ ν•©μœΌλ‘œ μ •μ˜ν•©λ‹ˆλ‹€. row_begin ≤ i ..
[Algorithm]숫자 μΉ΄λ“œ λ‚˜λˆ„κΈ° πŸ“‹λ¬Έμ œ μ² μˆ˜μ™€ μ˜ν¬λŠ” μ„ μƒλ‹˜μœΌλ‘œλΆ€ν„° μˆ«μžκ°€ ν•˜λ‚˜μ”© 적힌 μΉ΄λ“œλ“€μ„ μ ˆλ°˜μ”© λ‚˜λˆ μ„œ κ°€μ§„ ν›„, λ‹€μŒ 두 쑰건 쀑 ν•˜λ‚˜λ₯Ό λ§Œμ‘±ν•˜λŠ” κ°€μž₯ 큰 μ–‘μ˜ μ •μˆ˜ a의 값을 κ΅¬ν•˜λ €κ³  ν•©λ‹ˆλ‹€. μ² μˆ˜κ°€ κ°€μ§„ μΉ΄λ“œλ“€μ— 적힌 λͺ¨λ“  숫자λ₯Ό λ‚˜λˆŒ 수 있고 μ˜ν¬κ°€ κ°€μ§„ μΉ΄λ“œλ“€μ— 적힌 λͺ¨λ“  μˆ«μžλ“€ 쀑 ν•˜λ‚˜λ„ λ‚˜λˆŒ 수 μ—†λŠ” μ–‘μ˜ μ •μˆ˜ a μ˜ν¬κ°€ κ°€μ§„ μΉ΄λ“œλ“€μ— 적힌 λͺ¨λ“  숫자λ₯Ό λ‚˜λˆŒ 수 있고, μ² μˆ˜κ°€ κ°€μ§„ μΉ΄λ“œλ“€μ— 적힌 λͺ¨λ“  μˆ«μžλ“€ 쀑 ν•˜λ‚˜λ„ λ‚˜λˆŒ 수 μ—†λŠ” μ–‘μ˜ μ •μˆ˜ a 예λ₯Ό λ“€μ–΄, μΉ΄λ“œλ“€μ— 10, 5, 20, 17이 μ ν˜€ μžˆλŠ” κ²½μš°μ— λŒ€ν•΄ 생각해 λ΄…μ‹œλ‹€. λ§Œμ•½, μ² μˆ˜κ°€ [10, 17]이 적힌 μΉ΄λ“œλ₯Ό κ°–κ³ , μ˜ν¬κ°€ [5, 20]이 적힌 μΉ΄λ“œλ₯Ό κ°–λŠ”λ‹€λ©΄ 두 쑰건 쀑 ν•˜λ‚˜λ₯Ό λ§Œμ‘±ν•˜λŠ” μ–‘μ˜ μ •μˆ˜ aλŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ, μ² μˆ˜κ°€ [10, ..
[Algorithm] λ§μΉ ν•˜κΈ° πŸ“‹ 문제 μ–΄λŠ 학ꡐ에 νŽ˜μΈνŠΈκ°€ μΉ ν•΄μ§„ 길이가 n미터인 벽이 μžˆμŠ΅λ‹ˆλ‹€. 벽에 동아리 · ν•™νšŒ ν™λ³΄λ‚˜ νšŒμ‚¬ μ±„μš© 곡고 ν¬μŠ€ν„° 등을 κ²Œμ‹œν•˜κΈ° μœ„ν•΄ ν…Œμ΄ν”„λ‘œ λΆ™μ˜€λ‹€κ°€ μ² κ±°ν•  λ•Œ λ–ΌλŠ” 일이 많고 κ·Έ κ³Όμ •μ—μ„œ νŽ˜μΈνŠΈκ°€ 벗겨지곀 ν•©λ‹ˆλ‹€. νŽ˜μΈνŠΈκ°€ 벗겨진 벽이 보기 흉해져 ν•™κ΅λŠ” 벽에 페인트λ₯Ό λ§μΉ ν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€. 넓은 λ²½ 전체에 페인트λ₯Ό μƒˆλ‘œ μΉ ν•˜λŠ” λŒ€μ‹ , ꡬ역을 λ‚˜λˆ„μ–΄ μΌλΆ€λ§Œ 페인트λ₯Ό μƒˆλ‘œ μΉ  ν•¨μœΌλ‘œμ¨ μ˜ˆμ‚°μ„ 아끼렀 ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ 벽을 1λ―Έν„° 길이의 ꡬ역 n개둜 λ‚˜λˆ„κ³ , 각 ꡬ역에 μ™Όμͺ½λΆ€ν„° μˆœμ„œλŒ€λ‘œ 1λ²ˆλΆ€ν„° nλ²ˆκΉŒμ§€ 번호λ₯Ό λΆ™μ˜€μŠ΅λ‹ˆλ‹€. 그리고 페인트λ₯Ό λ‹€μ‹œ μΉ ν•΄μ•Ό ν•  ꡬ역듀을 μ •ν–ˆμŠ΅λ‹ˆλ‹€. 벽에 페인트λ₯Ό μΉ ν•˜λŠ” 둀러의 κΈΈμ΄λŠ” m미터이고, 둀러둜 벽에 페인트λ₯Ό ν•œ 번 μΉ ν•˜λŠ” κ·œμΉ™μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. λ‘€λŸ¬κ°€ λ²½μ—μ„œ..