λͺ©λ‘μ „체 κΈ€ (244)

🌷🌼λͺ¨μ—¬λ΄μš” 개발의숲🌷🌼

[JAVA/μ½”λ”©ν…ŒμŠ€νŠΈ] μ΅œλŒ€ λΆ€λΆ„ μ¦κ°€μˆ˜μ—΄

μ„€λͺ… N개의 μžμ—°μˆ˜λ‘œ 이루어진 μˆ˜μ—΄μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ·Έ μ€‘μ—μ„œ κ°€μž₯ 길게 μ¦κ°€ν•˜λŠ”(μž‘μ€ μˆ˜μ—μ„œ 큰 수둜) μ›μ†Œλ“€μ˜ 집합을 μ°ΎλŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ. 예λ₯Ό λ“€μ–΄, μ›μ†Œκ°€ 2, 7, 5, 8, 6, 4, 7, 12, 3 이면 κ°€μž₯ 길게 μ¦κ°€ν•˜λ„λ‘ μ›μ†Œλ“€μ„ μ°¨λ‘€λŒ€λ‘œ 뽑아내면 2, 5, 6, 7, 12λ₯Ό 뽑아내어 길이가 5인 μ΅œλŒ€ λΆ€λΆ„ μ¦κ°€μˆ˜μ—΄μ„ λ§Œλ“€ 수 μžˆλ‹€. μž…λ ₯ 첫째 쀄은 μž…λ ₯λ˜λŠ” λ°μ΄ν„°μ˜ 수 N(3≤N≤1,000, μžμ—°μˆ˜)λ₯Ό μ˜λ―Έν•˜κ³ , λ‘˜μ§Έ 쀄은 N개의 μž…λ ₯데이터듀이 주어진닀. 좜λ ₯ 첫 번째 쀄에 λΆ€λΆ„μ¦κ°€μˆ˜μ—΄μ˜ μ΅œλŒ€ 길이λ₯Ό 좜λ ₯ν•œλ‹€. μ˜ˆμ‹œ μž…λ ₯ 1 8 5 3 7 8 6 2 9 4 μ˜ˆμ‹œμΆœλ ₯ 4 import java.util.*; public class Main { public int solution(int..

[JAVA/μ½”λ”©ν…ŒμŠ€νŠΈ] ν”Όμž 배달 거리(μ‚Όμ„± SWμ—­λŸ‰ν‰κ°€ 기좜문제 : DFSν™œμš©)

μ„€λͺ… N×N 크기의 λ„μ‹œμ§€λ„κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ„μ‹œμ§€λ„λŠ” 1×1크기의 격자칸으둜 이루어져 μžˆμŠ΅λ‹ˆλ‹€. 각 κ²©μžμΉΈμ—λŠ” 0은 빈칸, 1은 집, 2λŠ” ν”Όμžμ§‘μœΌλ‘œ ν‘œν˜„λ©λ‹ˆλ‹€. 각 κ²©μžμΉΈμ€ μ’Œν‘œ(ν–‰λ²ˆν˜Έ, μ—΄ 번호)둜 ν‘œν˜„λ©λ‹ˆλ‹€. ν–‰λ²ˆν˜ΈλŠ” 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€μ΄κ³ , μ—΄ λ²ˆν˜Έλ„ 1λΆ€ν„° NκΉŒμ§€μž…λ‹ˆλ‹€. λ„μ‹œμ—λŠ” 각 μ§‘λ§ˆλ‹€ “ν”Όμžλ°°λ‹¬κ±°λ¦¬”κ°€ μ•˜λŠ”λ° 각 μ§‘μ˜ ν”Όμžλ°°λ‹¬κ±°λ¦¬λŠ” ν•΄λ‹Ή 집과 λ„μ‹œμ˜ μ‘΄μž¬ν•˜λŠ” ν”Όμžμ§‘λ“€κ³Όμ˜ 거리 쀑 μ΅œμ†Œκ°’μ„ ν•΄λ‹Ή μ§‘μ˜ “ν”Όμžλ°°λ‹¬κ±°λ¦¬”라고 ν•œλ‹€. 집과 ν”Όμžμ§‘μ˜ ν”Όμžλ°°λ‹¬κ±°λ¦¬λŠ” |x1-x2|+|y1-y2| 이닀. 예λ₯Ό λ“€μ–΄, λ„μ‹œμ˜ 지도가 μ•„λž˜μ™€ κ°™λ‹€λ©΄ (1, 2)에 μžˆλŠ” 집과 (2, 3)에 μžˆλŠ” ν”Όμžμ§‘κ³Όμ˜ ν”Όμž 배달 κ±°λ¦¬λŠ” |1-2| + |2-3| = 2κ°€ λœλ‹€. 졜근 λ„μ‹œκ°€ λΆˆκ²½κΈ°μ— μ ‘μ–΄λ“€μ–΄ μš°ν›„μ£½μˆœ μƒκ²Όλ˜ ν”Όμžμ§‘..

[JAVA/μ½”λ”©ν…ŒμŠ€νŠΈ] ν† λ§ˆν† (BFS ν™œμš©)

μ„€λͺ… ν˜„μˆ˜μ˜ ν† λ§ˆν†  농μž₯μ—μ„œλŠ” ν† λ§ˆν† λ₯Ό λ³΄κ΄€ν•˜λŠ” 큰 μ°½κ³ λ₯Ό 가지고 μžˆλ‹€. ν† λ§ˆν† λŠ” μ•„λž˜μ˜ κ·Έλ¦Όκ³Ό 같이 격자 λͺ¨μ–‘ μƒμžμ˜ 칸에 ν•˜λ‚˜μ”© λ„£μ–΄μ„œ 창고에 λ³΄κ΄€ν•œλ‹€. 창고에 λ³΄κ΄€λ˜λŠ” ν† λ§ˆν† λ“€ μ€‘μ—λŠ” 잘 읡은 것도 μžˆμ§€λ§Œ, 아직 읡지 μ•Šμ€ ν† λ§ˆν† λ“€λ„ μžˆμ„ 수 μžˆλ‹€. 보관 ν›„ ν•˜λ£¨κ°€ μ§€λ‚˜λ©΄, 읡은 ν† λ§ˆν† λ“€μ˜ μΈμ ‘ν•œ 곳에 μžˆλŠ” 읡지 μ•Šμ€ ν† λ§ˆν† λ“€μ€ 읡은 ν† λ§ˆν† μ˜ 영ν–₯을 λ°›μ•„ 읡게 λœλ‹€. ν•˜λ‚˜μ˜ ν† λ§ˆν† μ˜ μΈμ ‘ν•œ 곳은 μ™Όμͺ½, 였λ₯Έμͺ½, μ•ž, λ’€ λ„€ λ°©ν–₯에 μžˆλŠ” ν† λ§ˆν† λ₯Ό μ˜λ―Έν•œλ‹€. λŒ€κ°μ„  λ°©ν–₯에 μžˆλŠ” ν† λ§ˆν† λ“€μ—κ²ŒλŠ” 영ν–₯을 주지 λͺ»ν•˜λ©°, ν† λ§ˆν† κ°€ 혼자 μ €μ ˆλ‘œ μ΅λŠ” κ²½μš°λŠ” μ—†λ‹€κ³  κ°€μ •ν•œλ‹€. ν˜„μˆ˜λŠ” 창고에 λ³΄κ΄€λœ ν† λ§ˆν† λ“€μ΄ 며칠이 μ§€λ‚˜λ©΄ λ‹€ 읡게 λ˜λŠ”μ§€, κ·Έ μ΅œμ†Œ 일수λ₯Ό μ•Œκ³  μ‹Άμ–΄ ν•œλ‹€. ν† λ§ˆν† λ₯Ό 창고에 λ³΄κ΄€ν•˜λŠ” 격자λͺ¨μ–‘μ˜ μƒμžλ“€..