๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ 1 ์ฟผ๋“œ์••์ถ• ํ›„ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ Swift

by Fomagran ๐Ÿ’ป 2020. 11. 5.
728x90
๋ฐ˜์‘ํ˜•

Problem


 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ฟผ๋“œ์••์ถ• ํ›„ ๊ฐœ์ˆ˜ ์„ธ๊ธฐ

[[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15]

programmers.co.kr

Solution


1. ์ฃผ์–ด์ง„ ๋ฐฐ์—ด ์•ˆ์— ๋ชจ๋“  ์ˆซ์ž๊ฐ€ ๊ฐ™์€์ง€ ํ™•์ธ


๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋น„๊ตํ•ด ํ•œ๋ฒˆ๋„ ๊ฐ™์ง€ ์•Š์€๊ฒŒ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค๋ฉด ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž์ด๋‹ค. 

 

isAllEqual() ํ•จ์ˆ˜ ์ฐธ์กฐ

 

2. ๊ฐ™๋‹ค๋ฉด ๋งจ์ฒ˜์Œ ์ˆซ์ž๋ฅผ answer ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค€๋‹ค.

 

answer.append(arr[0][0])

 

3. ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด ๋ฐฐ์—ด์„ 4๋ถ„ํ•  ํ•œ๋‹ค.

 

makeQuarter ํ•จ์ˆ˜ ์ฐธ์กฐ

 

4. 4๋ถ„ํ• ์„ ํ•˜๋‹ค๊ฐ€ ์ˆซ์ž๊ฐ€ 4๊ฐœ๋ฐ–์— ์•ˆ๋‚จ์•˜๋‹ค๋ฉด 4๊ฐœ์˜ ์ˆซ์ž๋ฅผ answer ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค€๋‹ค.

 

for i in 0...3 {

 answer.append(quarter[0].first!)

}

 

5.answer์•ˆ์˜ 0๊ณผ 1์˜ ์ˆซ์ž๋ฅผ ์„ธ์„œ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.

 

return [answer.filter({$0 == 0 }).count,answer.filter({$0 == 1 }).count]

 

Source Code


728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€