[JS] ํ๋ก๊ทธ๋๋จธ์ค ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ BFS๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์
๋๋ค. 1. ์ด๊ธฐ ํ๊ณผ ์ด์ ๊ฐฏ์๋ฅผ ์ ์ฅํ๋ค. const N = maps.length const M = maps[0].length 2. ์ํ์ข์ฐ๋ก ์์ง์ผ x์ y์ ๊ฐ์ ์ ์ฅํ๋ค. const direction = [[0, -1], [0, 1], [-1, 0], [1, 0]] 3. ๋งต์ ๊ฐ์ฅ์๋ฆฌ๋ฅผ ํ ๊ฒน ๊ฐ์ธ์ค๋ค. ๋งต์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๊ฒ ๋๋ฉด..
2022. 4. 11.
[Swift] 2022 KAKAO BLIND RECRUITMENT ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr Solution 1. records์ ๊ธฐ๋ก๋๋ก ์๊ฐ์ ๊ณ์ฐํด ์ ์ฅํ๋ค. var timeInfo:[String:Int] = [:] var parkInfo:[String:Int] = [:] func calTimeByRecord(_ records:[String],_ parkIn..
2022. 1. 19.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง ๊ต์ ์ ๋ณ ๋ง๋ค๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๊ต์ ์ ๋ณ ๋ง๋ค๊ธฐ [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr Solution ํด๋น ๋ฌธ์ ์ ํต์ฌ์ ๋ ์ง์ (๋ฐฉ์ ์)์ ๊ต์ ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์๋ ๊ฒ์
๋๋ค. ์๋ ๋ ์ง์ ์ด ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. 1. ax + by + c 2. d..
2021. 12. 14.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง 3 n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ ์ ์ n, left, right๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ค์ ๊ณผ์ ์ ๊ฑฐ์ณ์ 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ ํฉ๋๋ค. nํ n์ด ํฌ๊ธฐ์ ๋น์ด์๋ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. i = 1, 2, 3, ..., n์ ๋ํด์, ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค. 1ํ 1์ด๋ถ programmers.co.kr Solution 1. ๋ฐฐ์ด์ ์ซ์๊ฐ ์ฑ์์ง๋ ๊ท์น์ ํ์
ํ๋ค. ๋ฐฐ์ด์ ์ซ์๊ฐ ์ฑ์์ง๋ ๊ท์น์ iํ์ i๊ฐ์ i๊ฐ ์ฑ์์ง๊ณ ๊ทธ ๋ค์ i+1๋ถํฐ n๊น์ง ์ฑ์์ง๋๋ค. ์๋ฅผ ๋ค์ด n์ด 10์ด๊ณ i๊ฐ 5๋ผ๋ฉด 5๋ฒ์งธ ํ์ 5๊ฐ 5๊ฐ๊ฐ ๋จผ์ ์ฑ์์ง๋๋ค. -> [5,5,5,5,5] ๊ทธ๋ฆฌ๊ณ 6(5+1)๋ถํฐ 10๊น์ง ์ฑ์์ง๋๋ค. -> [5,5,5,5,5,6,7,8,9,10] 2. ์์๋๋ ํ๊ณผ ์ด, ๋๋๋ ..
2021. 12. 1.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง 9์ฃผ์ฐจ ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - 9์ฃผ์ฐจ 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr Solution 1. ์ ์ ๋ง์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ connect ์ด์ค๋ฐฐ์ด์ ๋ง๋ค์ด์ ์ ์ฅํ๋ค. var connect = Array(repeating: Array(repeating: false, count: n+1), count:n+1) wires.forEach { connect[$0[0]][$0[1]] = true connect[$0[1]][$0[0]] = true } 2. ์ฐ๊ฒฐ๋ ์ ์ ์ ํ๋์ฉ ์๋ผ๋ณด๋ฉฐ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ๊ฐฏ์๋ฅผ ์ธ์ฃผ๊ณ ์ต์๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค. ์ฐ์ ์ต์๊ฐ์ ..
2021. 10. 7.