μ•Œκ³ λ¦¬μ¦˜

μ•Œκ³ λ¦¬μ¦˜/CodeTree

[CodeTree] λ£¨λŒν”„μ˜ λ°˜λž€ - Java

✨ κ΅¬ν˜„ ➑︎ μ—°μ‡„μ μœΌλ‘œ μ΄λ™μ‹œν‚€κΈ° & μ΄λ™ν•œ μ’Œν‘œ κ°±μ‹ ν•˜κ³  잘 λ°˜μ˜μ‹œν‚€κΈ° https://www.codetree.ai/training-field/frequent-problems/problems/rudolph-rebellion/description?page=1&pageSize=20 μ½”λ“œνŠΈλ¦¬ | μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„λ₯Ό μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜ 정석 κ΅­κ°€λŒ€ν‘œκ°€ λ§Œλ“  μ½”λ”© κ³΅λΆ€μ˜ κ°€μ΄λ“œλΆ μ½”λ”© μ™•μ΄ˆλ³΄λΆ€ν„° 꿈의 직μž₯ μ½”ν…Œ ν•©κ²©κΉŒμ§€, κ΅­κ°€λŒ€ν‘œκ°€ μ—„μ„ ν•œ 컀리큘럼으둜 μ€€λΉ„ν•΄λ³΄μ„Έμš”. www.codetree.ai πŸ“κ³ λ €ν•΄μ•Όν•  점 산타가 κ°€κΉŒμš΄ λ£¨λŒν”„μ—κ²Œ 이동할 λ•Œ, λ°˜λŒ€λ‘œ λ£¨λŒν”„κ°€ κ°€κΉŒμš΄ μ‚°νƒ€μ—κ²Œ 이동할 λ•Œ μ–΄λŠ λ°©ν–₯으둜 이동할지 κ²°μ •ν•˜κΈ° μœ„ν•΄μ„œλŠ” 거리 곡식 계산을 μ΄μš©ν•΄μ„œ 비ꡐ해야 ν•œλ‹€. πŸ‘‰ λ£¨λŒν”„μ˜ 경우 8λ°©ν–₯ 이동 κ°€λŠ₯ν•˜κ³ , μ‚°νƒ€λŠ”..

μ•Œκ³ λ¦¬μ¦˜/πŸ—‚οΈ 정리

🐌 λ‹¬νŒ½μ΄ 이동 효율적인 μ½”λ“œ 🐌

λ‹¬νŒ½μ΄ 이동을 효율적으둜 μž‘μ„±ν•œ μ½”λ“œκ°€ μžˆμ–΄μ„œ κΈ°λ‘ν•œλ‹€. μš°μ„  격자의 ν•œ 변은 무쑰건 ν™€μˆ˜λ‹€. μ•ˆ -> λ°–μœΌλ‘œ μ΄λ™ν•˜λŠ” λ°©ν–₯κ³Ό λ°– -> μ•ˆμœΌλ‘œ μ΄λ™ν•˜λŠ” λ°©ν–₯을 ν•œ λ²ˆμ— μ €μž₯ν•˜λŠ” λ‘œμ§μ΄λ‹€. κ·œμΉ™ μ°ΎκΈ° λ‹¬νŒ½μ΄ μ΄λ™ν•˜λŠ” κ·œμΉ™μ„ 찾아보면 ν˜„μž¬ λ°©ν–₯이 λ§Œμ•½ μœ„ λ˜λŠ” μ•„λž˜μΌ λ•Œλ§ˆλ‹€ μ΄λ™ν•˜λŠ” νšŸμˆ˜κ°€ 1μ”© μ¦κ°€ν•œλ‹€. μ•ˆ βž” λ°–μœΌλ‘œ μ΄λ™ν•˜λŠ” 경우λ₯Ό 보면, β¬†οΈŽ ➑︎ 둜 이동할 λ•ŒλŠ” 1, 3, 5 ... μΉΈμ”© μ΄λ™ν•˜κ³ , β¬‡οΈŽ β¬…οΈŽ 둜 이동할 λ•ŒλŠ” 2, 4, 6 ... μΉΈμ”© μ΄λ™ν•œλ‹€. (0, 0)칸으둜 ν–₯ν•΄ κ°€λŠ” λ§ˆμ§€λ§‰ β¬†οΈŽλŠ” 짝수 칸만큼 μ΄λ™ν•˜μ§€λ§Œ μ–΄μ°¨ν”Ό (0, 0)μ—μ„œ λλ‚˜κΈ° λ•Œλ¬Έμ— breakν•˜λ©΄ λœλ‹€. λ°– βž” μ•ˆμœΌλ‘œ μ΄λ™ν•˜λŠ” λ‹¬νŒ½μ΄ λͺ¨μ–‘은 μœ„μ™€ λ°˜λŒ€λ‘œ μƒκ°ν•˜λ©΄ 되기 λ•Œλ¬Έμ— λ°©ν–₯만 λ°”κΏ”μ£Όλ©΄ λœλ‹€. μ½”λ“œ public st..

μ•Œκ³ λ¦¬μ¦˜/CodeTree

[CodeTree] 싸움땅 - Java

✨ κ΅¬ν˜„ https://www.codetree.ai/training-field/frequent-problems/problems/battle-ground/description?page=1&pageSize=20 μ½”λ“œνŠΈλ¦¬ | μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„λ₯Ό μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜ 정석 κ΅­κ°€λŒ€ν‘œκ°€ λ§Œλ“  μ½”λ”© κ³΅λΆ€μ˜ κ°€μ΄λ“œλΆ μ½”λ”© μ™•μ΄ˆλ³΄λΆ€ν„° 꿈의 직μž₯ μ½”ν…Œ ν•©κ²©κΉŒμ§€, κ΅­κ°€λŒ€ν‘œκ°€ μ—„μ„ ν•œ 컀리큘럼으둜 μ€€λΉ„ν•΄λ³΄μ„Έμš”. www.codetree.ai πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν•΄λ‹Ήν•˜λŠ” 칸에 μžˆλŠ” 총듀을 λΉ„κ΅ν•˜κ³  κ°€μž₯ 곡격λ ₯이 높은 총을 μ„ νƒν•΄μ•Όν•œλ‹€. 진 μ‚¬λžŒμ˜ 경우 총을 ν•΄λ‹Ήν•˜λŠ” 칸에 두고, 쑰건에 따라 μ΄λ™ν•œλ‹€. πŸ•ΉοΈ μ•Œκ³ λ¦¬μ¦˜ κ³Όμ • 진 μ‚¬λžŒμ΄ 총을 버리고 μ΄λ™ν•΄μ•Όν•˜λŠ”λ°, λ²„λ¦¬λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ§€ μ•Šμ•„ λ””λ²„κΉ…ν•˜λŠ”λ° μ‹œκ°„μ„ 생각보닀 많이 μŸμ€ 것 μ™Έμ—λŠ” λ”±νžˆ..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 17837 μƒˆλ‘œμš΄ κ²Œμž„2 - Java

✨ κ΅¬ν˜„ https://www.acmicpc.net/problem/17837 17837번: μƒˆλ‘œμš΄ κ²Œμž„ 2 μž¬ν˜„μ΄λŠ” 주변을 μ‚΄νŽ΄λ³΄λ˜ 쀑 체슀판과 말을 μ΄μš©ν•΄μ„œ μƒˆλ‘œμš΄ κ²Œμž„μ„ λ§Œλ“€κΈ°λ‘œ ν–ˆλ‹€. μƒˆλ‘œμš΄ κ²Œμž„μ€ 크기가 N×N인 μ²΄μŠ€νŒμ—μ„œ μ§„ν–‰λ˜κ³ , μ‚¬μš©ν•˜λŠ” 말의 κ°œμˆ˜λŠ” Kκ°œμ΄λ‹€. 말은 μ›νŒλͺ¨μ–‘이고, ν•˜ www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν•œ μ’Œν‘œ μ•ˆμ— μ—¬λŸ¬ 개의 말이 λ“€μ–΄κ°ˆ 수 μžˆλ‹€. βž” μ΄λ™ν•˜λ €λŠ” 칸에 말이 μ‘΄μž¬ν•œλ‹€λ©΄ κ·Έ μœ„μ— 말이 올라감 ν•œ 말이 이동할 λ•Œ μœ„μ— 올렀져 μžˆλŠ” λ§κΉŒμ§€ λͺ¨λ‘ μ΄λ™ν•œλ‹€. μ—¬λŸ¬ 개의 말이 λ“€μ–΄κ°ˆ λ•Œ μ’Œν‘œμ˜ 색깔에 따라 μ •λ ¬ 기쀀이 μ‘΄μž¬ν•œλ‹€. μ’Œν‘œμ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜κ±°λ‚˜ μ’Œν‘œ 칸이 νŒŒλž€μƒ‰μΌ λ•Œμ˜ 쑰건을 μœ μ˜ν•΄μ•Όν•œλ‹€. πŸ•ΉοΈ 풀이과정 μ–΄λ–€ 자료ꡬ쑰둜 ν™œμš©ν• μ§€ μ •ν•˜κΈ°λ§Œ ν•˜λ©΄ μ‰½κ²Œ ν’€..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 17485 μ§„μš°μ˜ 달 μ—¬ν–‰ (Large) - Java

✨ DP https://www.acmicpc.net/problem/17485 17485번: μ§„μš°μ˜ 달 μ—¬ν–‰ (Large) 첫쀄에 지ꡬ와 달 사이 곡간을 λ‚˜νƒ€λ‚΄λŠ” ν–‰λ ¬μ˜ 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” N, M (2 ≤ N, M ≤ 1000)이 주어진닀. λ‹€μŒ N쀄 λ™μ•ˆ 각 ν–‰λ ¬μ˜ μ›μ†Œ 값이 주어진닀. 각 ν–‰λ ¬μ˜ μ›μ†Œκ°’μ€ 100 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 μ™Όμͺ½ λŒ€κ°μ„ , μ•„λž˜, 였λ₯Έμͺ½ λŒ€κ°μ„  3가지 λ°©ν–₯으둜 μ΄λ™ν•œλ‹€. ✨✨ 같은 λ°©ν–₯으둜 두 번 μ—°μ†μœΌλ‘œ 움직일 수 μ—†λ‹€. ✨✨ πŸ•ΉοΈ 문제 풀이 ν˜„μž¬ μœ„μΉ˜λ₯Ό κΈ°μ€€μœΌλ‘œ κ·Έ μ „ 단계에 μ‚¬μš©ν–ˆλ˜ μ—°λ£Œμ˜ 양을 계속 μ•Œκ³  μžˆμ–΄μ•Ό ν•œλ‹€. κ·Έ μ „ 단계에 μ‚¬μš©ν–ˆλ˜ μ—°λ£Œμ˜ μ–‘κ³Ό ν˜„μž¬ μœ„μΉ˜μ— μžˆλŠ” μ—°λ£Œμ˜ μ–‘μ˜ 합을 κ΅¬ν•΄μ„œ μ΅œμ†Œμ˜ μ—°λ£Œλ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 경우..

μ•Œκ³ λ¦¬μ¦˜/πŸ—‚οΈ 정리

LCS (졜μž₯ 곡톡 λΆ€λΆ„ μˆ˜μ—΄)

μ½”ν…Œ 보닀가 λ‚˜μ˜¨ 것이기에 μ •λ¦¬ν•œλ‹€... LCS (Longest Common Subsequence)λŠ” 주어진 μ—¬λŸ¬ 개의 μˆ˜μ—΄ μ€‘μ—μ„œ λͺ¨λ‘μ˜ λΆ€λΆ„μˆ˜μ—΄μ΄ λ˜λŠ” μˆ˜μ—΄λ“€ 쀑 κ°€μž₯ κΈ΄ 것을 μ°ΎλŠ” 것이닀. μ˜ˆμ‹œλ₯Ό 보자면, ACAYKP의 λΆ€λΆ„μˆ˜μ—΄μ€ {A}, {C}, {A}, {Y}, {K}, {P}, {A, C}, {A, A}, {A, Y}, ... {A, C, A, Y, K, P} 이고, CAPCAK의 λΆ€λΆ„μˆ˜μ—΄μ€ {C}, {A}, {P}, {C}, {A}, {K}, {C, A}, {C, P}, {C, C}, ... {C, A, P, C, A, K}이 μžˆλŠ”λ° 각각의 λΆ€λΆ„μˆ˜μ—΄ μ€‘μ—μ„œ μ„œλ‘œ 같은 λΆ€λΆ„μˆ˜μ—΄μ΄ μžˆμ„ 것이닀. 그쀑 κ°€μž₯ κΈ΄ 것을 찾으면 λ˜λŠ”λ° μœ„μ˜ μ˜ˆμ‹œμ˜ 닡은 길이가 4인 {A, C, A, K} 이닀. λŒ€ν‘œμ ..

μ•Œκ³ λ¦¬μ¦˜/ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 단어 λ³€ν™˜

✨ BFS/DFS https://school.programmers.co.kr/learn/courses/30/lessons/43163# ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ“œ μ€‘μ‹¬μ˜ 개발자 μ±„μš©. μŠ€νƒ 기반의 ν¬μ§€μ…˜ 맀칭. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ 개발자 λ§žμΆ€ν˜• ν”„λ‘œν•„μ„ λ“±λ‘ν•˜κ³ , λ‚˜μ™€ 기술 ꢁ합이 잘 λ§žλŠ” 기업듀을 맀칭 λ°›μœΌμ„Έμš”. programmers.co.kr πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν•œ λ²ˆμ— ν•œ 개의 μ•ŒνŒŒλ²³λ§Œ λ³€κ²½ κ°€λŠ₯ beginμ—μ„œ target으둜 λ³€ν™˜ν•˜λŠ” κ°€μž₯ 짧은 λ³€ν™˜ κ³Όμ • μ°ΎκΈ° ꡳ이 λ°°μ—΄μ˜ μˆœμ„œλŒ€λ‘œ 찾을 ν•„μš” μ—†μŒ πŸ•ΉοΈ 풀이과정 πŸ‘‰ 이 문제 같은 경우 DFS와 BFS λͺ¨λ‘ 풀이 κ°€λŠ₯ν•˜λ‹€. ν•˜μ§€λ§Œ DFS둜 κ΅¬ν˜„ν•  μ‹œμ—λŠ” μ‹œκ°„λ³΅μž‘λ„κ°€ 크닀. πŸ”Ή DFS words λ°°μ—΄μ—μ„œ ν˜„μž¬ 단어와 ν•œ κΈ€μžλ§Œ λ‹€λ₯Έ 단어λ₯Ό νƒμƒ‰ν•œλ‹€. πŸ‘‰ 쀑볡 탐색을 λ°©..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 20058 λ§ˆλ²•μ‚¬ 상어와 νŒŒμ΄μ–΄μŠ€ν†° - Java

✨ BFS + κ΅¬ν˜„ βž” λΆ€λΆ„ 격자λ₯Ό μ‹œκ³„λ°©ν–₯으둜 90도 νšŒμ „ https://www.acmicpc.net/problem/20058 20058번: λ§ˆλ²•μ‚¬ 상어와 νŒŒμ΄μ–΄μŠ€ν†° λ§ˆλ²•μ‚¬ μƒμ–΄λŠ” νŒŒμ΄μ–΄λ³Όκ³Ό 토넀이도λ₯Ό μ‘°ν•©ν•΄ νŒŒμ΄μ–΄μŠ€ν†°μ„ μ‹œμ „ν•  수 μžˆλ‹€. μ˜€λŠ˜μ€ νŒŒμ΄μ–΄μŠ€ν†°μ„ 크기가 2N × 2N인 격자둜 λ‚˜λˆ„μ–΄μ§„ μ–ΌμŒνŒμ—μ„œ μ—°μŠ΅ν•˜λ €κ³  ν•œλ‹€. μœ„μΉ˜ (r, c)λŠ” 격자의 rν–‰ c www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 2^L * 2^L 크기의 λΆ€λΆ„ 격자둜 λ‚˜λˆ„κ³  λͺ¨λ“  λΆ€λΆ„ 격자λ₯Ό μ‹œκ³„λ°©ν–₯으둜 90도 νšŒμ „ L=1일 λ•Œ, 2x2의 λΆ€λΆ„κ²©μžκ°€ μ‹œκ³„λ°©ν–₯으둜 90도 νšŒμ „ L=2일 λ•Œ, 4x4의 λΆ€λΆ„κ²©μžκ°€ μ‹œκ³„λ°©ν–₯으둜 90도 νšŒμ „ (x, y)μΉΈμ—μ„œ μΈμ ‘ν•œ μΉΈ(μƒν•˜μ’Œμš°) 쀑 μ–ΌμŒμ΄ μžˆλŠ” 칸이 3개 미만이면 (x, y)μΉΈ μ–ΌμŒμ˜..

soogoori
'μ•Œκ³ λ¦¬μ¦˜' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘ (2 Page)