[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] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง 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.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง 8์ฃผ์ฐจ ์ต์์ง์ฌ๊ฐํ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - 8์ฃผ์ฐจ [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr Solution 1. ๊ฐ๋ก์ ์ธ๋ก๊ฐ ๋ด๊ธด ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. let sorted = sizes.map{$0.sorted()} 2. ๊ฐ๋ก์ ์ธ๋ก์ ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณฑํด์ค๋ค. return sorted.map{$0[0]}.max()! * sorted.map{$0[1]}.max()! Source Code
2021. 9. 30.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง 3์ฃผ์ฐจ ํผ์ฆ ์กฐ๊ฐ ์ฑ์ฐ๊ธฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - 3์ฃผ์ฐจ [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr Solution 1. ๊ฒ์๋ณด๋์ ํ
์ด๋ธ์ ํผ์ฆ ์กฐ๊ฐ๋ค์ ์ฐพ๋๋ค. ๊ฒ์๋ณด๋์ ํ
์ด๋ธ์ ํผ์ฆ ์กฐ๊ฐ๋ค์ ์ฐพ๊ธฐ ์ํด์ BFS ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ผ ๋ฉ๋๋ค. ๊ฒ์๋ณด๋๋ฅผ ํ์ํ ๋ ๋ง์ฝ 0์ ๋ง๋๊ฒ ๋์๋ค๋ฉด ๊ทธ ์ฃผ๋ณ ์ผ์ชฝ,์ค๋ฅธ์ชฝ,์,์๋๊ฐ 0..
2021. 8. 20.
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ํด๋ฆฌ ์ฑ๋ฆฐ์ง 2์ฃผ์ฐจ ์ํธ ํ๊ฐ
Problem ์ฝ๋ฉํ
์คํธ ์ฐ์ต - 2์ฃผ์ฐจ [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr Solution 1.scores์ ์ ์๋ฅผ ์ธ๋ก๋ก ๋ฌถ์ด์ค๋ค. scores ์ค i๋ฒ์งธ ํ์์ ์ ์๋ค์ i๋ฒ์งธ ์ด๋ฏ๋ก ์ธ๋ก๋ก ๋ฌถ์ด์ ์ ์ฅํฉ๋๋ค. var selfScore = scores.map{$0[i]} 2. ์ธ๋ก๋ก ๋ฌถ์ ์ ์๋ค ์ค i๋ฒ์งธ(์๊ธฐ ์์ )๊ฐ ์ต๊ณ ๋๋ ์ต์๋ผ๋ฉด maxOrMin์ผ๋ก ์ ์ฅํ๊ณ ์ญ์ ํด์ค๋๋ค. var maxOrMin = -1 if selfScore[i] == selfSc..
2021. 8. 10.