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

Algorithm

(81)
[Algorithm] κ°œμΈμ •λ³΄ μˆ˜μ§‘ μœ νš¨κΈ°κ°„ πŸ“‹ 문제 고객의 μ•½κ΄€ λ™μ˜λ₯Ό μ–»μ–΄μ„œ μˆ˜μ§‘λœ 1~n번으둜 λΆ„λ₯˜λ˜λŠ” κ°œμΈμ •λ³΄ nκ°œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μ•½κ΄€ μ’…λ₯˜λŠ” μ—¬λŸ¬ κ°€μ§€ 있으며 각 μ•½κ΄€λ§ˆλ‹€ κ°œμΈμ •λ³΄ 보관 μœ νš¨κΈ°κ°„μ΄ μ •ν•΄μ Έ μžˆμŠ΅λ‹ˆλ‹€. 당신은 각 κ°œμΈμ •λ³΄κ°€ μ–΄λ–€ μ•½κ΄€μœΌλ‘œ μˆ˜μ§‘λλŠ”μ§€ μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€. μˆ˜μ§‘λœ κ°œμΈμ •λ³΄λŠ” μœ νš¨κΈ°κ°„ μ „κΉŒμ§€λ§Œ 보관 κ°€λŠ₯ν•˜λ©°, μœ νš¨κΈ°κ°„μ΄ 지났닀면 λ°˜λ“œμ‹œ νŒŒκΈ°ν•΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, AλΌλŠ” μ•½κ΄€μ˜ μœ νš¨κΈ°κ°„μ΄ 12 달이고, 2021λ…„ 1μ›” 5일에 μˆ˜μ§‘λœ κ°œμΈμ •λ³΄κ°€ Aμ•½κ΄€μœΌλ‘œ μˆ˜μ§‘λ˜μ—ˆλ‹€λ©΄ ν•΄λ‹Ή κ°œμΈμ •λ³΄λŠ” 2022λ…„ 1μ›” 4μΌκΉŒμ§€ 보관 κ°€λŠ₯ν•˜λ©° 2022λ…„ 1μ›” 5일뢀터 νŒŒκΈ°ν•΄μ•Ό ν•  κ°œμΈμ •λ³΄μž…λ‹ˆλ‹€. 당신은 였늘 λ‚ μ§œλ‘œ νŒŒκΈ°ν•΄μ•Ό ν•  κ°œμΈμ •λ³΄ λ²ˆν˜Έλ“€μ„ κ΅¬ν•˜λ € ν•©λ‹ˆλ‹€. λͺ¨λ“  달은 28μΌκΉŒμ§€ μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€. λ‹€μŒμ€ 였늘 λ‚ μ§œκ°€ 2022.05.19일 λ•Œ..
[Algorithm] λͺ¨λ‘ 0으둜 λ§Œλ“€κΈ° πŸ“‹λ¬Έμ œ 각 점에 κ°€μ€‘μΉ˜κ°€ λΆ€μ—¬λœ νŠΈλ¦¬κ°€ μ£Όμ–΄μ§‘λ‹ˆλ‹€. 당신은 λ‹€μŒ 연산을 ν†΅ν•˜μ—¬, 이 트리의 λͺ¨λ“  μ λ“€μ˜ κ°€μ€‘μΉ˜λ₯Ό 0으둜 λ§Œλ“€κ³ μž ν•©λ‹ˆλ‹€. μž„μ˜μ˜ μ—°κ²°λœ 두 점을 κ³¨λΌμ„œ ν•œμͺ½μ€ 1 μ¦κ°€μ‹œν‚€κ³ , λ‹€λ₯Έ ν•œμͺ½μ€ 1 κ°μ†Œμ‹œν‚΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ, λͺ¨λ“  νŠΈλ¦¬κ°€ μœ„μ˜ 행동을 ν†΅ν•˜μ—¬ λͺ¨λ“  μ λ“€μ˜ κ°€μ€‘μΉ˜λ₯Ό 0으둜 λ§Œλ“€ 수 μžˆλŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. 당신은 μ£Όμ–΄μ§„ νŠΈλ¦¬μ— λŒ€ν•΄μ„œ ν•΄λ‹Ή 사항이 κ°€λŠ₯ν•œμ§€ νŒλ³„ν•˜κ³ , λ§Œμ•½ κ°€λŠ₯ν•˜λ‹€λ©΄ μ΅œμ†Œν•œμ˜ 행동을 ν†΅ν•˜μ—¬ λͺ¨λ“  μ λ“€μ˜ κ°€μ€‘μΉ˜λ₯Ό 0으둜 λ§Œλ“€κ³ μž ν•©λ‹ˆλ‹€. 트리의 각 점의 κ°€μ€‘μΉ˜λ₯Ό μ˜λ―Έν•˜λŠ” 1차원 μ •μˆ˜ λ°°μ—΄ a와 트리의 κ°„μ„  정보λ₯Ό μ˜λ―Έν•˜λŠ” edgesκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§‘λ‹ˆλ‹€. μ£Όμ–΄μ§„ 행동을 톡해 트리의 λͺ¨λ“  μ λ“€μ˜ κ°€μ€‘μΉ˜λ₯Ό 0으둜 λ§Œλ“œλŠ” 것이 λΆˆκ°€λŠ₯ν•˜λ‹€λ©΄ -1을, κ°€λŠ₯ν•˜λ‹€λ©΄ μ΅œμ†Œ λͺ‡ λ²ˆλ§Œμ— κ°€λŠ₯ν•œ..
[Algorithm] 리코쳇 λ‘œλ΄‡ πŸ“‹ 문제 리코쳇 λ‘œλ΄‡μ΄λΌλŠ” λ³΄λ“œκ²Œμž„μ΄ μžˆμŠ΅λ‹ˆλ‹€. 이 λ³΄λ“œκ²Œμž„μ€ 격자λͺ¨μ–‘ κ²Œμž„νŒ μœ„μ—μ„œ 말을 μ›€μ§μ΄λŠ” κ²Œμž„μœΌλ‘œ, μ‹œμž‘ μœ„μΉ˜μ—μ„œ λͺ©ν‘œ μœ„μΉ˜κΉŒμ§€ μ΅œμ†Œ λͺ‡ λ²ˆλ§Œμ— 도달할 수 μžˆλŠ”μ§€ λ§ν•˜λŠ” κ²Œμž„μž…λ‹ˆλ‹€. 이 κ²Œμž„μ—μ„œ 말의 μ›€μ§μž„μ€ 상, ν•˜, 쒌, 우 4λ°©ν–₯ 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•΄μ„œ κ²Œμž„νŒ μœ„μ˜ μž₯μ• λ¬Όμ΄λ‚˜ 맨 끝에 λΆ€λ”ͺ힐 λ•ŒκΉŒμ§€ λ―Έλ„λŸ¬μ Έ μ΄λ™ν•˜λŠ” 것을 ν•œ 번의 μ΄λ™μœΌλ‘œ μΉ©λ‹ˆλ‹€. λ‹€μŒμ€ λ³΄λ“œκ²Œμž„νŒμ„ λ‚˜νƒ€λ‚Έ μ˜ˆμ‹œμž…λ‹ˆλ‹€. ...D..R .D.G... ....D.D D....D. ..D.... μ—¬κΈ°μ„œ "."은 빈 곡간을, "R"은 λ‘œλ΄‡μ˜ 처음 μœ„μΉ˜λ₯Ό, "D"λŠ” μž₯μ• λ¬Όμ˜ μœ„μΉ˜λ₯Ό, "G"λŠ” λͺ©ν‘œμ§€μ μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μœ„ μ˜ˆμ‹œμ—μ„œλŠ” "R" μœ„μΉ˜μ—μ„œ μ•„λž˜, μ™Όμͺ½, μœ„, μ™Όμͺ½, μ•„λž˜, 였λ₯Έμͺ½, μœ„ μˆœμ„œλ‘œ 움직이면 7번 λ§Œμ— "G" μœ„μΉ˜μ— 멈..
[Algorithm] ν˜Όμžμ„œ ν•˜λŠ” 틱택토 πŸ“‹ 문제 ν‹±νƒν† λŠ” 두 μ‚¬λžŒμ΄ ν•˜λŠ” κ²Œμž„μœΌλ‘œ μ²˜μŒμ— 3x3의 빈칸으둜 이루어진 κ²Œμž„νŒμ— 선곡이 "O", 후곡이 "X"λ₯Ό λ²ˆκ°ˆμ•„κ°€λ©΄μ„œ λΉˆμΉΈμ— ν‘œμ‹œν•˜λŠ” κ²Œμž„μž…λ‹ˆλ‹€. κ°€λ‘œ, μ„Έλ‘œ, λŒ€κ°μ„ μœΌλ‘œ 3κ°œκ°€ 같은 ν‘œμ‹œκ°€ λ§Œλ“€μ–΄μ§€λ©΄ 같은 ν‘œμ‹œλ₯Ό λ§Œλ“  μ‚¬λžŒμ΄ μŠΉλ¦¬ν•˜κ³  κ²Œμž„μ΄ μ’…λ£Œλ˜λ©° 9칸이 λͺ¨λ‘ μ°¨μ„œ 더 이상 ν‘œμ‹œλ₯Ό ν•  수 μ—†λŠ” κ²½μš°μ—λŠ” λ¬΄μŠΉλΆ€λ‘œ κ²Œμž„μ΄ μ’…λ£Œλ©λ‹ˆλ‹€. ν•  일이 μ—†μ–΄ ν•œκ°€ν•œ λ¨Έμ“±μ΄λŠ” 두 μ‚¬λžŒμ΄ ν•˜λŠ” κ²Œμž„μΈ 틱택토λ₯Ό λ‹€μŒκ³Ό 같이 ν˜Όμžμ„œ ν•˜λ €κ³  ν•©λ‹ˆλ‹€. ν˜Όμžμ„œ 선곡과 후곡을 λ‘˜ λ‹€ λ§‘λŠ”λ‹€. 틱택토 κ²Œμž„μ„ μ‹œμž‘ν•œ ν›„ "O"와 "X"λ₯Ό ν˜Όμžμ„œ λ²ˆκ°ˆμ•„ κ°€λ©΄μ„œ ν‘œμ‹œλ₯Ό ν•˜λ©΄μ„œ μ§„ν–‰ν•œλ‹€. ν‹±νƒν† λŠ” λ‹¨μˆœν•œ κ·œμΉ™μœΌλ‘œ κ²Œμž„μ΄ 금방 λλ‚˜κΈ°μ— λ¨Έμ“±μ΄λŠ” ν•œ κ²Œμž„μ΄ μ’…λ£Œλ˜λ©΄ λ‹€μ‹œ 3x3 λΉˆμΉΈμ„ κ·Έλ¦° λ’€ λ‹€μ‹œ κ²Œμž„μ„ λ°˜λ³΅ν–ˆμŠ΅λ‹ˆλ‹€. κ·Έλ ‡κ²Œ ..
[Algorithm] μŠ€νƒ€ μˆ˜μ—΄ πŸ“‹ 문제 λ‹€μŒκ³Ό 같은 것듀을 μ •μ˜ν•©λ‹ˆλ‹€. μ–΄λ–€ μˆ˜μ—΄ x의 λΆ€λΆ„ μˆ˜μ—΄(Subsequence)μ΄λž€, x의 λͺ‡λͺ‡ μ›μ†Œλ“€μ„ μ œκ±°ν•˜κ±°λ‚˜ κ·ΈλŸ¬μ§€ μ•Šκ³  남은 μ›μ†Œλ“€μ΄ μ›λž˜ μˆœμ„œλ₯Ό μœ μ§€ν•˜μ—¬ 얻을 수 μžˆλŠ” μƒˆλ‘œμš΄ μˆ˜μ—΄μ„ λ§ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, [1,3]은 [1,2,3,4,5]의 λΆ€λΆ„μˆ˜μ—΄μž…λ‹ˆλ‹€. μ›λž˜ μˆ˜μ—΄μ—μ„œ 2, 4, 5λ₯Ό μ œκ±°ν•΄μ„œ 얻을 수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 쑰건을 λͺ¨λ‘ λ§Œμ‘±ν•˜λŠ” μˆ˜μ—΄ xλ₯Ό μŠ€νƒ€ μˆ˜μ—΄μ΄λΌκ³  μ •μ˜ν•©λ‹ˆλ‹€. x의 길이가 2 μ΄μƒμ˜ μ§μˆ˜μž…λ‹ˆλ‹€. (빈 μˆ˜μ—΄μ€ ν—ˆμš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.) x의 길이λ₯Ό 2n이라 ν•  λ•Œ, λ‹€μŒκ³Ό 같은 n개의 μ§‘ν•© {x[0], x[1]}, {x[2], x[3]}, ..., {x[2n-2], x[2n-1]} 의 κ΅μ§‘ν•©μ˜ μ›μ†Œμ˜ κ°œμˆ˜κ°€ 1 μ΄μƒμž…λ‹ˆλ‹€. x[0] != x[1], x[2]..
[Algorithm] κ΄‘λ¬Ό 캐기 πŸ“‹ 문제 λ§ˆμΈμ€ 곑괭이둜 κ΄‘μ‚°μ—μ„œ 광석을 캐렀고 ν•©λ‹ˆλ‹€. λ§ˆμΈμ€ 닀이아λͺ¬λ“œ 곑괭이, μ²  곑괭이, 돌 곑괭이λ₯Ό 각각 0κ°œμ—μ„œ 5κ°œκΉŒμ§€ κ°€μ§€κ³  있으며, 곑괭이둜 광물을 캘 λ•ŒλŠ” ν”Όλ‘œλ„κ°€ μ†Œλͺ¨λ©λ‹ˆλ‹€. 각 곑괭이둜 광물을 캘 λ•Œμ˜ ν”Όλ‘œλ„λŠ” μ•„λž˜ ν‘œμ™€ κ°™μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ²  κ³‘κ΄­μ΄λŠ” 닀이아λͺ¬λ“œλ₯Ό 캘 λ•Œ ν”Όλ‘œλ„ 5κ°€ μ†Œλͺ¨λ˜λ©°, μ² κ³Ό λŒμ„ μΊ˜λ•ŒλŠ” ν”Όλ‘œλ„κ°€ 1μ”© μ†Œλͺ¨λ©λ‹ˆλ‹€. 각 κ³‘κ΄­μ΄λŠ” μ’…λ₯˜μ— 상관없이 κ΄‘λ¬Ό 5개λ₯Ό μΊ” ν›„μ—λŠ” 더 이상 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. λ§ˆμΈμ€ λ‹€μŒκ³Ό 같은 κ·œμΉ™μ„ μ§€ν‚€λ©΄μ„œ μ΅œμ†Œν•œμ˜ ν”Όλ‘œλ„λ‘œ 광물을 캐렀고 ν•©λ‹ˆλ‹€. μ‚¬μš©ν•  수 μžˆλŠ” 곑괭이쀑 μ•„λ¬΄κ±°λ‚˜ ν•˜λ‚˜λ₯Ό 선택해 광물을 μΊ‘λ‹ˆλ‹€. ν•œ 번 μ‚¬μš©ν•˜κΈ° μ‹œμž‘ν•œ κ³‘κ΄­μ΄λŠ” μ‚¬μš©ν•  수 없을 λ•ŒκΉŒμ§€ μ‚¬μš©ν•©λ‹ˆλ‹€. 광물은 μ£Όμ–΄μ§„ μˆœμ„œλŒ€λ‘œλ§Œ 캘 수 μžˆμŠ΅λ‹ˆλ‹€. 광산에 μžˆλŠ”..
[Algorithm] μ˜¬λ°”λ₯Έ κ΄„ν˜Έμ˜ 갯수 πŸ“‹ 문제 μ˜¬λ°”λ₯Έ κ΄„ν˜Έλž€ (())λ‚˜ ()와 같이 μ˜¬λ°”λ₯΄κ²Œ λͺ¨λ‘ λ‹«νžŒ κ΄„ν˜Έλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. )(λ‚˜ ())() 와 같은 κ΄„ν˜ΈλŠ” μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ κ΄„ν˜Έκ°€ λ©λ‹ˆλ‹€. κ΄„ν˜Έ 쌍의 개수 n이 μ£Όμ–΄μ§ˆ λ•Œ, n개의 κ΄„ν˜Έ 쌍으둜 λ§Œλ“€ 수 μžˆλŠ” λͺ¨λ“  κ°€λŠ₯ν•œ κ΄„ν˜Έ λ¬Έμžμ—΄μ˜ 갯수λ₯Ό λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜ solution을 μ™„μ„±ν•΄ μ£Όμ„Έμš”. μ œν•œμ‚¬ν•­ κ΄„ν˜Έ 쌍의 개수 N : 1 ≤ n ≤ 14, N은 μ •μˆ˜ μž…μΆœλ ₯ 예 2 2 3 5 ✏️ 풀이 처음 문제λ₯Ό 보고 DP문제라고 μƒκ°ν–ˆλ‹€. ν•˜μ§€λ§Œ 아무리 생각해보아도 점화식 λ§Œλ“€κΈ°κ°€ μ‰½μ§€μ•Šμ•˜λ‹€. λ‹€λ₯Έ 방법을 생각해보닀가 n μ œν•œμ΄ 1이상 14μ΄ν•˜λΌλ©΄ λͺ¨λ“  경우λ₯Ό νƒμƒ‰ν•˜λŠ” 것도 κ°€λŠ₯ν•˜κ² λ‹€λΌλŠ” 생각이 λ“€μ–΄ μž¬κ·€ν•¨μˆ˜λ₯Ό 톡해 문제λ₯Ό ν’€μ–΄λ³΄μ•˜λ‹€. μš°μ„  완성될 κ΄„ν˜ΈμŒμ„ 넣을 λ°°μ—΄ Parenthesis을 μ„ μ–Έν–ˆλ‹€. 그리..
[Algorithm] λ¬΄μ§€μ˜ λ¨Ήλ°© 라이브 πŸ“‹ 문제 λ¬΄μ§€μ˜ λ¨Ήλ°© 라이브 * νš¨μœ¨μ„± ν…ŒμŠ€νŠΈμ— λΆ€λΆ„ μ μˆ˜κ°€ μžˆλŠ” λ¬Έμ œμž…λ‹ˆλ‹€. ν‰μ†Œ μ‹μš•μ΄ μ™•μ„±ν•œ λ¬΄μ§€λŠ” μžμ‹ μ˜ 재λŠ₯을 뽐내고 μ‹Άμ–΄ 쑌고 κ³ λ―Ό 끝에 카카였 TV 라이브둜 방솑을 ν•˜κΈ°λ‘œ λ§ˆμŒλ¨Ήμ—ˆλ‹€. κ·Έλƒ₯ 먹방을 ν•˜λ©΄ λ‹€λ₯Έ 방솑과 차별성이 μ—†κΈ° λ•Œλ¬Έμ— λ¬΄μ§€λŠ” μ•„λž˜μ™€ 같이 λ…νŠΉν•œ 방식을 μƒκ°ν•΄λƒˆλ‹€. νšŒμ „νŒμ— λ¨Ήμ–΄μ•Ό ν•  N 개의 μŒμ‹μ΄ μžˆλ‹€. 각 μŒμ‹μ—λŠ” 1λΆ€ν„° N κΉŒμ§€ λ²ˆν˜Έκ°€ λΆ™μ–΄μžˆμœΌλ©°, 각 μŒμ‹μ„ μ„­μ·¨ν•˜λŠ”λ° 일정 μ‹œκ°„μ΄ μ†Œμš”λœλ‹€. λ¬΄μ§€λŠ” λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ μŒμ‹μ„ μ„­μ·¨ν•œλ‹€. λ¬΄μ§€λŠ” 1번 μŒμ‹λΆ€ν„° λ¨ΉκΈ° μ‹œμž‘ν•˜λ©°, νšŒμ „νŒμ€ λ²ˆν˜Έκ°€ μ¦κ°€ν•˜λŠ” μˆœμ„œλŒ€λ‘œ μŒμ‹μ„ 무지 μ•žμœΌλ‘œ κ°€μ Έλ‹€ λ†“λŠ”λ‹€. λ§ˆμ§€λ§‰ 번호의 μŒμ‹μ„ μ„­μ·¨ν•œ ν›„μ—λŠ” νšŒμ „νŒμ— μ˜ν•΄ λ‹€μ‹œ 1번 μŒμ‹μ΄ 무지 μ•žμœΌλ‘œ μ˜¨λ‹€. λ¬΄μ§€λŠ” μŒμ‹ ν•˜λ‚˜λ₯Ό 1초 λ™μ•ˆ μ„­μ·¨ν•œ ν›„..