λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[Level 1] 비밀지도

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 4. 2.

 

 

 

Algorithm

-  비밀지도 -

 


 

문제

λ„€μ˜€λŠ” ν‰μ†Œ ν”„λ‘œλ„κ°€ λΉ„μƒκΈˆμ„ μˆ¨κ²¨λ†“λŠ” μž₯μ†Œλ₯Ό μ•Œλ €μ€„ 비밀지도λ₯Ό 손에 λ„£μ—ˆλ‹€.

그런데 이 λΉ„λ°€μ§€λ„λŠ” 숫자둜 μ•”ν˜Έν™”λ˜μ–΄ μžˆμ–΄ μœ„μΉ˜λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•΄μ„œλŠ” μ•”ν˜Έλ₯Ό 해독해야 ν•œλ‹€.

λ‹€ν–‰νžˆ 지도 μ•”ν˜Έλ₯Ό 해독할 방법을 적어놓은 λ©”λͺ¨λ„ ν•¨κ»˜ λ°œκ²¬ν–ˆλ‹€.

 

1. μ§€λ„λŠ” ν•œ λ³€μ˜ 길이가 n인 μ •μ‚¬κ°ν˜• λ°°μ—΄ ν˜•νƒœλ‘œ, 각 칸은 "곡백"(" ")λ˜λŠ” "λ²½"("#") 두쒅λ₯˜λ‘œ 이루어져 μžˆλ‹€.

2. 전체 μ§€λ„λŠ” 두 μž₯의 지도λ₯Ό κ²Ήμ³μ„œ 얻을 수 μžˆλ‹€. 각각 "지도 1"κ³Ό "지도 2"라고 ν•˜μž. 지도 1λ˜λŠ” 지도 2 쀑 μ–΄λŠ ν•˜λ‚˜λΌλ„ 벽인 뢀뢄은 전체 μ§€λ„μ—μ„œλ„ 벽이닀. 지도 1κ³Ό 지도 2μ—μ„œ λͺ¨λ‘ 곡백인 뢀뢄은 전체 μ§€λ„μ—μ„œλ„ 곡백이닀.

3. "지도 1"κ³Ό "지도 2"λŠ” 각각 μ •μˆ˜ λ°°μ—΄λ‘œ μ•”ν˜Έν™”λ˜μ–΄ μžˆλ‹€.

4. μ•”ν˜Έν™”λœ 배열은 μ§€λ„μ˜ 각 κ°€λ‘œμ€„μ—μ„œ λ²½ 뢀뢄을 1, 곡백 뢀뢄을 0으둜 λΆ€ν˜Έν™”ν–ˆμ„ λ•Œ μ–»μ–΄μ§€λŠ” μ΄μ§„μˆ˜μ— ν•΄λ‹Ήν•˜λŠ” κ°’μ˜ 배열이닀.

 

λ„€μ˜€κ°€ ν”„λ‘œλ„μ˜ λΉ„μƒκΈˆμ„ 손에 넣을 수 μžˆλ„λ‘, λΉ„λ°€μ§€λ„μ˜ μ•”ν˜Έλ₯Ό ν•΄λ…ν•˜λŠ” μž‘μ—…μ„ 도와쀄 ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

λ§€κ°œλ³€μˆ˜ κ°’
n 5
arr1 [9, 20, 28, 18, 11]
arr2 [30, 1, 21, 17, 28]
좜λ ₯ ['#####', '# # #', '### #', '#  ##', '#####']

 

문제 ν’€κΈ°

 

μ΄λ²ˆλ¬Έμ œλŠ” repeatλΌλŠ” 것을 이전에 μ‚¬μš©ν•΄λ³΄μ•˜κΈ° λ•Œλ¬Έμ— 생각보닀 μˆ˜μ›”ν•˜κ²Œ 문제λ₯Ό ν•΄κ²°ν•΄ λ‚˜κ°„κ²ƒ κ°™λ‹€.

(λ¬Όλ‘  μ½”λ“œμ˜ κΈΈμ΄λŠ” μƒλ‹Ήν•˜μ§€λ§Œ..γ…Žγ…Žγ…Ž)

 

그리고 μ΄λ²ˆμ— μƒˆλ‘­κ²Œ μ•Œκ²Œ 된 것은 10μ§„μˆ˜μ—μ„œ 2μ§„μˆ˜λ‘œ λ°”κΎΈκΈ° μœ„ν•΄μ„œλŠ” toString을 μ‚¬μš©ν•˜κ³ , λ°˜λŒ€λ‘œ 2μ§„μˆ˜μ—μ„œ 10μ§„μˆ˜λ‘œ λ³€ν™˜ν•΄ μ£ΌκΈ° μœ„ν•΄μ„œλŠ” parseIntλ₯Ό μ‚¬μš©ν•΄ μ€„μˆ˜ μžˆλ‹€λŠ” 것이닀.

 

λ‚˜μ€‘μ— 좔후에 μ•Œκ³ λ¦¬μ¦˜ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œ λ˜λ‹€μ‹œ μ‚¬μš©ν•  μˆ˜λ„ μžˆμœΌλ‹ˆ 잘 기얡해놔야 κ² λ‹€.

 

 

λ°˜μ‘ν˜•

'κ°œμΈκ³΅λΆ€ > Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Level 1] 콜라츠 μΆ”μΈ‘  (0) 2021.04.06
[Level 1] 평균 κ΅¬ν•˜κΈ°  (0) 2021.04.03
[Level 1] μ‹€νŒ¨μœ¨  (0) 2021.03.31
[Level 1] λ‹€νŠΈ κ²Œμž„  (0) 2021.03.30
[Level 1] ν•˜μƒ€λ“œ 수  (0) 2021.03.29

λŒ“κΈ€