728x90 ๋ฐ์ํ ๋ฌธ์ ํ์ด4 [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ง๊ฒ๋ค๋ฆฌ (with ์ฌ์ด ํ์ด ํฌํจ) Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ง๊ฒ๋ค๋ฆฌ ์ถ๋ฐ์ง์ ๋ถํฐ distance๋งํผ ๋จ์ด์ง ๊ณณ์ ๋์ฐฉ์ง์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ์ฌ์ด์๋ ๋ฐ์๋ค์ด ๋์ฌ์์ต๋๋ค. ๋ฐ์ ์ค ๋ช ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ฐฉ์ง์ ์ด 25๋งํผ ๋จ์ด์ ธ ์๊ณ , ๋ฐ์๊ฐ programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ ์ด์งํ์์ ์ด์ฉํด์ ํ์ด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. ๋ค๋ฆฌ์ ๊ธธ์ด n์ด๋ผ๋ฉด ์ต์์ ๊ฑฐ๋ฆฌ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ช ์ผ๊น์? ๋ค๋ฆฌ์ ์ค๊ฐ์ ๋ฐ์๊ฐ ๋ฑ ํ ๊ฐ ์์ ๊ฒฝ์ฐ์ธ ๋ค๋ฆฌ ๊ธธ์ด์ ์ ๋ฐ, ์ฆ, n/2 ์ ๋๋ค. ๊ณ ๋ก ๋ค๋ฆฌ์ ๊ธธ์ด์ ์ ๋ฐ์ด ์ต์๊ฐ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ผ๊ณ ์์ํฉ๋๋ค. ๋ฐ์๋ฅผ ์ญ์ ํด ๋๊ฐ๋ฉด์ ์ด ๊ฐ์ ๋ง๋ค ์ ์๋์ง ์๋์ง๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. ๋ฌธ์ ์ ๋์์๋ ์์ ๋ก ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋ค๋ฆฌ์ ๊ธธ์ด: 25 ๋ฐ์์ .. 2022. 1. 3. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง1 ์คํ ์์ด Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ ์์ด programmers.co.kr Solution 1. a์ ์๋ ์ซ์๋ค์ ๊ฐฏ์๋ฅผ ์ธ์ค๋ค. ์ซ์๋ค์ ๊ฐฏ์๋ฅผ ์ธ์ฃผ๋ ์ด์ ๋ ๊ฐฏ์๊ฐ ๋ง์ ์ซ์๋ก ์ ๋ ฌํ์ฌ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ง๊ธฐ ์ํด์ ์ ๋๋ค. func countNumbers(a:[Int]) -> [Int:Int] { var countDic:[Int:Int] = [:] for n in a { if countDic[n] == nil { countDic[n] = 1 }else { countDic[n]! += 1 } } return countDic } 2. ๊ฐ ์ซ์๋ค์ ๊ฐ์ฅ ๊ธด ๋ถ๋ถ ์์ด ๊ธธ์ด๋ฅผ ๊ตฌํด์ค๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด ๊ฐ ์ซ์๋ค์ ์ ๋ค๋ฅผ ๋น๊ตํด์ค๋๋ค. ๋ง์ฝ ์๊ณผ ๋ค ์ค ํ๋๋ผ๋ ํ์ฌ ์ซ์์ ๊ฐ์ง ์์ ์ซ์๊ฐ ์๋ค๋ฉด +2.. 2021. 11. 6. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง 3 ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ ์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. n์ x๋ก ๋๋ ๋๋จธ์ง๊ฐ 1์ด ๋๋๋ก ํ๋ ๊ฐ์ฅ ์์ ์์ฐ์ x๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๋ต์ด ํญ์ ์กด์ฌํจ์ ์ฆ๋ช ๋ ์ ์์ต๋๋ค. ์ ํ์ฌํญ ์ programmers.co.kr Solution 2๋ถํฐ n-1๊น์ง ๋๋๋ฉด์ ๋๋จธ์ง๊ฐ 1์ด ๋์ค๋ฉด ๋ฐํํ๋ค. func solution(_ n:Int) -> Int { for i in 2.. 2021. 10. 29. [Swift] ํ๋ก๊ทธ๋๋จธ์ค ์คํฐ์ปค ๋ชจ์ผ๊ธฐ(2) Problem ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํฐ์ปค ๋ชจ์ผ๊ธฐ(2) N๊ฐ์ ์คํฐ์ปค๊ฐ ์ํ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๋ค์ ๊ทธ๋ฆผ์ N = 8์ธ ๊ฒฝ์ฐ์ ์์์ ๋๋ค. ์ํ์ผ๋ก ์ฐ๊ฒฐ๋ ์คํฐ์ปค์์ ๋ช ์ฅ์ ์คํฐ์ปค๋ฅผ ๋ฏ์ด๋ด์ด ๋ฏ์ด๋ธ ์คํฐ์ปค์ ์ ํ ์ซ์์ ํฉ์ด ์ต๋๊ฐ ๋๋๋ก programmers.co.kr Solution ํด๋น ๋ฌธ์ ๋ DP(Dynamic Programming)์ผ๋ก ํ์ด์ผ ํ๋ ๋ฌธ์ ์ ๋๋ค. 1. ์คํฐ์ปค์ ๊ฐฏ์๊ฐ 3๊ฐ ์ดํ๋ผ๋ฉด ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํํ๋ค. ์คํฐ์ปค์ ๊ฐฏ์๊ฐ 3๊ฐ ์ดํ๋ผ๋ฉด ํ๋๋ฐ์ ๋ ์ ์์ผ๋ฏ๋ก ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฐํํฉ๋๋ค. if sticker.count < 4 { return sticker.max()!} 2. ์ฒซ ๋ฒ์งธ ์คํฐ์ปค๋ฅผ ๋ฏ์ด๋์ ๊ฒฝ์ฐ์ ๋ ๋ฒ์งธ ์คํฐ์ปค๋ฅผ ๋ฏ์ด๋์ ๊ฒฝ์ฐ์ dp๋ฅผ ๋ง๋ค์ด์ค๋๋ค. var dp1:.. 2021. 10. 19. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ