ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ์ค๋ช ๋ฌธ์ ํ์ด ์ถฉ์คํ ๊ตฌํํ๋ฉด ๋๋ ๋ฌธ์ ๋ค. ์ ์ํด์ผ ํ ์ ์ 1. ๋ง์ง๋ง์ ๋๊ฐ์ง ์์ ์ฐจ๋ 23:59๋ถ์ ์ถ์ฐจํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค. 2. ์ด๊ณผ์๊ฐ ๊ณ์ฐํ ๋ ์ฌ๋ฆผํ๋ค. ex) 40๋ถ ์ด๊ณผํ๋๋ฐ 30๋ถ๋ง๋ค 1000์ ์ถ๊ฐ๋ฉด 2000์ ์ถ๊ฐ ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค. [Int: (isOut: Bool, time: Int)] [์ฐจ๋ฒํธ: (๋๊ฐ๋์ง, ์ฌ์ฉ์๊ฐ)] ๋ง์ง๋ง์ ๋๊ฐ๋์ง ์ฒดํฌํ๊ธฐ ์ํด ๋์ ๋๋ฆฌ์ value์ isOut์ ์ถ๊ฐํ ํํ๋ค. records๋ฅผ ๋ค ์ฒดํฌํ๊ณ ๋ง์ฝ์ ์์ง ์๋๊ฐ ์ฐจ๊ฐ ์๋ค๋ฉด(isOu..
๋ฌธ์ ์ค๋ช ๋ฌธ์ ํ์ด 0์ ๊ธฐ์ค์ผ๋ก P๋ฅผ ํ์ ํ๋ค. 0P0, 0P, P0, P ํํ ๋ชจ๋ ๊ฐ๋ฅ ์ฆ, 211020101011์ด ์์ผ๋ฉด 0์ ๊ธฐ์ค์ผ๋ก ์๋ผ์ฃผ๋ฉด ๋๋ค. -> 211, 2, 1, 1, 11 ๊ทธ ํ ์ซ์๋ค์ ์์์ธ์ง ์๋์ง ํ๋ณํด์ฃผ๋ฉด ๋๋ค. ๋ค๋ง ์ด ๋ฌธ์ ์ ํต์ฌ์ ์๊ฐ ๋ณต์ก๋์ด๋ค. ์์๋ฅผ ๊ตฌํ ๋ 36์ด๋ฉด 1~36๋ชจ๋ ๋๋ ค์ ๋๋จธ์ง๊ฐ 0์ธ๊ฑธ ์ฐพ์ผ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋๋ค. 36์ ์ฝ์๋ฅผ ๋ณด๋ฉด 2 4 6 9 18 36์ ์ ๊ณฑ๊ทผ์ธ 6์ ๊ธฐ์ค์ผ๋ก ์ง์ ์ด๋ฃฌ๋ค. ๋ฐ๋ผ์ n์ ์ ๊ณฑ๊ทผ๊น์ง๋ง for๋ฌธ์ ๋๋ ค์ค๋ ์์์ธ์ง ์๋์ง ํ๋ณ ๊ฐ๋ฅํ๋ค. ์ฝ๋ func solution(_ n:Int, _ k:Int) -> Int { func isPrime(_ num: Int) -> Bool { if num < 2 { return..
๋ฌธ์ ์ค๋ช ๋ฌธ์ ํ์ด ๋จ์ํ ๊ตฌํ๋ฌธ์ ๋ค. ํต์ฌ์ 1๋ฌ์ 29์ผ์ด๋ผ๋ ์ ๊ฐ๋ค. ๋ ์ง๋ฅผ ์ ์๋ก ๋ณํํด์ฃผ๋ ํจ์๋ฅผ ๋ง๋ค์ด์ ํด๊ฒฐํ๋ค. ex) 2021.10.21 ์ผ ๋ (2021 * 29 * 12) + (10 * 29) + (21) ์ฝ๋ func solution(_ today:String, _ terms:[String], _ privacies:[String]) -> [Int] { // ๋ ๋๋ฅผ ์ ์๋ก ๋ฐ๊ฟ์ฃผ๋ ํจ์ ex) 2021.02.05 -> 2021*29*12 + 2*29 + 5 func dateToInt(_ date: String) -> Int { let split = date.split(separator: ".").map {Int(String($0))!} return (split[0]*12*29)+(..
๋ฌธ์ ์ค๋ช ๋ฌธ์ ํ์ด ์ผ๋จ ์ด ๋ฌธ์ ์ ํต์ฌ์ ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ณณ๋ถํฐ ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค๋ ๊ฒ ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํํ๋ ค๋ฉด ์ธ์ ๊ฐ ๋ฉ๋ฆฌ ์๋ ํ๋ฐฐ๋ ์ฒ๋ฆฌํด์ผํ๊ธฐ ๋๋ฌธ์ ์ฒจ๋ถํฐ ๋จผ ๊ณณ๋ถํฐ ๋ฐฐ๋ฌํ๋ฉด ๋๋ค. ๋จผ ๊ณณ๋ถํฐ ์ฒ๋ฆฌํ๋ค -> LIFO์ธ ์คํ์ด ์๊ฐ๋ฌ๋ค. ๋ฐ๋ผ์ while๋ฌธ์ ๋๋ฆฌ๋ฉฐ popLast๋ฅผ ํด์ฃผ๋ฉฐ ํ๋ฐฐ ์์ฉ๋ฒ์์ธ cap๊น์ง ์ต๋ํ ๋ฐฐ๋ฌํ๊ณ ์๊ฑฐํ๋ค. ์ฝ๋ func solution(_ cap:Int, _ n:Int, _ deliveries:[Int], _ pickups:[Int]) -> Int64 { var del = deliveries var pick = pickups var distance = 0 // ๋ค์์ ํ๋ฐฐ ๊ฐ์๊ฐ 0์ด๋ฉด ๋ค ์ ๊ฑฐ while !del.isEmpty { let num = del.popL..