๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“– Problem Solution/Programmers175

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ ํ”ผ๋กœ๋„ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ”ผ๋กœ๋„ XX๊ฒŒ์ž„์—๋Š” ํ”ผ๋กœ๋„ ์‹œ์Šคํ…œ(0 ์ด์ƒ์˜ ์ •์ˆ˜๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค)์ด ์žˆ์œผ๋ฉฐ, ์ผ์ • ํ”ผ๋กœ๋„๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋˜์ „์„ ํƒํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๊ฐ ๋˜์ „๋งˆ๋‹ค ํƒํ—˜์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ "์ตœ์†Œ ํ•„์š” ํ”ผ๋กœ๋„"์™€ ๋˜ programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ฐฑํŠธ๋ž˜ํ‚น์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. (ํ˜น์‹œ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ„๋“ค์€ ์—ฌ๊ธฐ ์—์„œ ๋ณด๊ณ  ์™€์ฃผ์„ธ์š”!) answer๋ฅผ 0๋ถ€ํ„ฐ ํƒํ—˜์„ ์‹œ์ž‘ํ•ด์ค๋‹ˆ๋‹ค. func solution(_ k:Int, _ dungeons:[[Int]]) -> Int { var answer:Int = 0 explore(dungeons: dungeons, answer: &answer, k:k, count: 0) return answer } ๋˜์ „๋“ค์„ .. 2021. 12. 10.
[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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ 3 ๊ณต ์ด๋™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ณต ์ด๋™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ nํ–‰ m์—ด์˜ ๊ฒฉ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฉ์ž์˜ ๊ฐ ํ–‰์€ 0, 1, ..., n-1๋ฒˆ์˜ ๋ฒˆํ˜ธ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์—ด์€ 0, 1, ..., m-1๋ฒˆ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋งค๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด ๊ฒฉ์ž์— ๊ณต์„ ํ•˜๋‚˜ ๋‘๊ณ , ๊ทธ ๊ณต์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” ํšจ์œจ์„ฑ์ด ํ•ต์‹ฌ์ธ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ ํ–‰๊ณผ ์—ด์ด ๊ฐ 10^9, ์ตœ๋Œ€ ์ฟผ๋ฆฌ ๊ฐฏ์ˆ˜๊ฐ€ 20๋งŒ์œผ๋กœ ์–ด๋งˆ์–ด๋งˆํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๋งŒ์•ฝ ๋ชจ๋“  ์œ„์น˜์—์„œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๋Œ๋ฆด ๊ฒฝ์šฐ ์ตœ๋Œ€ 10^9 * 10^9 * 200000 ์ด ๋ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ดˆ๊ณผ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ชฉ์ ์ง€์—์„œ๋ถ€ํ„ฐ ์ฟผ๋ฆฌ์˜ ์—ญ์ˆœ์œผ๋กœ ๋˜๋Œ์•„๊ฐ€๋ฉด์„œ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๊ฐ€ ์–ด๋””๊นŒ์ง€์ธ์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ก  ์„ค๋ช… ์•„๋ž˜์™€ ๊ฐ™์ด ๋ชฉ์ .. 2021. 11. 15.
[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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ•˜๋…ธ์ด์˜ ํƒ‘ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ํ•˜๋…ธ์ด์˜ ํƒ‘ ํ•˜๋…ธ์ด ํƒ‘(Tower of Hanoi)์€ ํผ์ฆ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. ์„ธ ๊ฐœ์˜ ๊ธฐ๋‘ฅ๊ณผ ์ด ๊ธฐ๋™์— ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ๋‹ค์–‘ํ•œ ์›ํŒ๋“ค์ด ์žˆ๊ณ , ํผ์ฆ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—๋Š” ํ•œ ๊ธฐ๋‘ฅ์— ์›ํŒ๋“ค์ด ์ž‘์€ ๊ฒƒ์ด ์œ„์— ์žˆ๋„๋ก ์ˆœ์„œ๋Œ€ programmers.co.kr Solution ์ด๋ฒˆ ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ์žฌ๊ท€๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด n๊ฐœ์˜ ์›ํŒ์ด 1๋ฒˆ ๊ธฐ๋‘ฅ์— ๋ชจ๋‘ ์žˆ์Šต๋‹ˆ๋‹ค. 1. 1๋ฒˆ ๊ธฐ๋‘ฅ์— ์žˆ๋Š” ์›ํŒ ์ค‘ ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ์›ํŒ์„ ์ œ์™ธํ•œ ์›ํŒ(n-1๊ฐœ)์„ ๋ชจ๋‘ 2๋ฒˆ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค. 2. ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ์›ํŒ์„ 3๋ฒˆ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค. 3. 2๋ฒˆ์— ์žˆ๋Š” n-1๊ฐœ์˜ ์›ํŒ์„ ๋ชจ๋‘ 3๋ฒˆ์œผ๋กœ ์˜ฎ๊น๋‹ˆ๋‹ค. ํ•˜๋…ธ์ด์˜ ํƒ‘์„ ํ‘ธ๋Š” ๊ณผ์ •์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…๋“œ๋ฆฌ๋ฉด ์œ„์™€ ๊ฐ™์ด ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ์˜๋ฌธ์ด.. 2021. 10. 31.
[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 110 ์˜ฎ๊ธฐ๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 110 ์˜ฎ๊ธฐ๊ธฐ 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ์–ด๋–ค ๋ฌธ์ž์—ด x์— ๋Œ€ํ•ด์„œ, ๋‹น์‹ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ–‰๋™์„ ํ†ตํ•ด x๋ฅผ ์ตœ๋Œ€ํ•œ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์•ž์— ์˜ค๋„๋ก ๋งŒ๋“ค๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. x์— ์žˆ๋Š” "110"์„ ๋ฝ‘์•„์„œ, ์ž„์˜์˜ ์œ„์น˜์— ๋‹ค์‹œ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ programmers.co.kr Solution ์ด๋ฒˆ ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ์Šคํƒ์„ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. 1. ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  "110" ์‚ญ์ œํ•ด์ค€๋‹ค. ์—ฌ๊ธฐ์„œ ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด 4๋ฒˆ,18๋ฒˆ,19๋ฒˆ,21๋ฒˆ ์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž ํ•˜๋‚˜์‹ ์Œ“์œผ๋ฉฐ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋‘ ๊ธ€์ž์™€ ํ˜„์žฌ ๊ธ€์ž๋ฅผ ๋น„๊ตํ•ด์„œ "110" ์ด๋ผ๋Š” ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋‘ ๋ฌธ์ž๋ฅผ ์ง€์›Œ์ค๋‹ˆ๋‹ค. "110"์„ ์ง€์› ์„ ๋•Œ ๊ทธ ์ด์ „์— ์žˆ๋˜ ๋ฌธ์ž์™€ ์ดํ›„์— ์žˆ๋˜ ๋ฌธ์ž๊ฐ€ ํ•ฉ์ณ์ ธ์„œ ๋˜ ".. 2021. 10. 27.
[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.
[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ 3 ๊ธˆ๊ณผ ์€ ์šด๋ฐ˜ํ•˜๊ธฐ Problem ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ธˆ๊ณผ ์€ ์šด๋ฐ˜ํ•˜๊ธฐ ์–ด๋Š ์™•๊ตญ์— ํ•˜๋‚˜ ์ด์ƒ์˜ ๋„์‹œ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์™•๊ตญ์˜ ์™•์€ ์ƒˆ ๋„์‹œ๋ฅผ ์ง“๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋„์‹œ๋ฅผ ์ง“๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„์‹œ๋ฅผ ์ง“๋Š” ์žฅ์†Œ์— ๊ธˆ a kg๊ณผ ์€ b kg์ด ์ „๋‹ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋„์‹œ์—๋Š” programmers.co.kr Solution ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ด์ง„ํƒ์ƒ‰์„ ์ด์šฉํ•ด์„œ ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ตœ๋Œ€๋กœ ๊ฑธ๋ฆด ์‹œ๊ฐ„์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ ๊ฐ€๋ฉด์„œ ๊ธˆ๊ณผ ์€์„ ์šด๋ฐ˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. 1. ์ตœ๋Œ€๋กœ ๊ฑธ๋ฆด ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค. ์•„๋ž˜ ์ œํ•œ์‚ฌํ•ญ์„ ์ฐธ๊ณ ํ•˜๋ฉด a์™€ b์˜ ์ตœ๋Œ€์น˜๊ฐ€ ๊ฐ ๊ฐ 10์˜ 9์Šน์ด๋ฏ€๋กœ 10์˜ 9์Šน * 2 ์›€์ง์ด๋Š”๋ฐ ์ตœ๋Œ€๋กœ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด 10์˜ 5์Šน์ด๊ณ  ์™”๋‹ค ๊ฐ”๋‹ค ์™•๋ณต์ด๋ฏ€๋กœ 10์˜ 5์Šน *2 ์ฆ‰, 10e9 * 10e5 * 4์ž…๋‹ˆ๋‹ค. 2. ์ด์ง„.. 2021. 10. 10.
[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 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋น›์˜ ๊ฒฝ๋กœ ์‚ฌ์ดํด ๊ฐ ์นธ๋งˆ๋‹ค S, L, ๋˜๋Š” R๊ฐ€ ์จ์ ธ ์žˆ๋Š” ๊ฒฉ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์ด ๊ฒฉ์ž์—์„œ ๋น›์„ ์˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฉ์ž์˜ ๊ฐ ์นธ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ดํ•œ ์„ฑ์งˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋น›์ด "S"๊ฐ€ ์จ์ง„ ์นธ์— ๋„๋‹ฌํ•œ ๊ฒฝ์šฐ, ์ง์ง„ programmers.co.kr Solution 1. ์‚ฌ์ดํด์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ดํ•ดํ•œ๋‹ค. ์‚ฌ์ดํด์€ ์ฒ˜์Œ ์‹œ์ž‘ํ•œ ์นธ์—์„œ ์ฒ˜์Œ ์‹œ์ž‘ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ์•„ ์˜ฌ ๋•Œ ์‚ฌ์ดํด์ด ํ˜•์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ (0,0)์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋น›์„ ์ˆ๊ณ  ๋‹ค์‹œ (0,0)์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋น›์ด ์žˆ๋‹ค๋ฉด ์‚ฌ์ดํด์ž…๋‹ˆ๋‹ค. 2. ์œ„์น˜์™€ ๋ฐฉํ–ฅ์„ ๊ธฐ์–ตํ•  Location ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. struct Location:Equatable { var x:Int,y:Int,d:String } 3. ์‚ฌ์ด.. 2021. 9. 24.
728x90
๋ฐ˜์‘ํ˜•