Swift Data Structure And Algorithm 148

combinationpascal

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ 2์ฐจ์› ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•˜์—ฌ ์™ผ์ชฝ ์œ„์™€ ๋ฐ”๋กœ ์œ„์˜ ๊ฐ’์„ ๋”ํ•˜์—ฌ ์ž์‹ ์„ ๊ฒฐ์ •ํ•˜๋Š” ํ˜•ํƒœ์ธ ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•์„ ๊ตฌ์„ฑ ํŒŒ์Šค์นผ ์‚ผ๊ฐํ˜•์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์€ ๊ฐ ํ–‰์ด n C m์„ ๋œปํ•˜๋ฏ€๋กœ ํ•ด๋‹น ์›์†Œ ๊ฐ’์„ ์ถœ๋ ฅํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // CombinationPascal // // Created by ์ด์˜์žฌ on 2022/03/08. //MARK: - combinationpascal //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { //MARK: - Input guard let input = readLine()?.componen..

findprime

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ์ฃผ์–ด์ง„ ๋ฌธ์ œ์˜ ํฌ๊ธฐ(N)๊ฐ€ 100์ด๋ฏ€๋กœ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ œ๊ณฑ๊ทผ ๊นŒ์ง€ ์ง์ ‘ ๋‚˜๋ˆ„์–ด ๋ด„์œผ๋กœ์จ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ O(N * N ^ 1/2) ์‹œ๊ฐ„๋ณต์žก๋„๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // FindPrime // // Created by ์ด์˜์žฌ on 2022/03/08. //MARK: - findprime //MARK: - Framework import Foundation //MARK: - Function func isPrimeNumber(_ number: Int) -> Bool { var isPrimeNumber: Bool = true if number == 1 { isPrimeNumber = false } else { ..

fractionsum

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ๋จผ์ € ๊ฐ ๋ถ„์ž ๋ถ„๋ชจ๋ฅผ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆˆ ํ›„, ๋‘ ๋ถ„๋ชจ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๊ฐ€ ๋‘ ๋ถ„์ˆ˜์˜ ํ•ฉ ๋ถ„๋ชจ๊ฐ€ ๋˜๊ณ , ๋‘ ๋ถ„๋ชจ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ฐ ๋ถ„๋ชจ๋กœ ๋‚˜๋ˆˆ ๋ชซ์œผ๋กœ ๊ฐ ๋ถ„์ž์— ๊ณฑํ•˜์—ฌ ๋”ํ•จ์œผ๋กœ์จ ๋” ์ด์ƒ ์•ฝ๋ถ„ ๋˜์ง€ ์•Š๋Š” ๋‘ ์ž์—ฐ์ˆ˜ ๋ถ„์ˆ˜์˜ ํ•ฉ ์ฆ‰, ๊ธฐ์•ฝ๋ถ„์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // FractionSum // // Created by ์ด์˜์žฌ on 2022/03/08. //MARK: - fractionsum //MARK: - Framework import Foundation //MARK: - Function func getGCD(_ A: Int, _ B: Int) -> Int { return A % B == 0 ? B : getGCD..

lcm

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // LCM // // Created by ์ด์˜์žฌ on 2022/03/08. //MARK: - lcm //MARK: - Framework import Foundation //MARK: - Function func getGCD(_ A: Int64, _ B: Int64) -> Int64 { return A % B == 0 ? B : getGCD(B, A % B) } func getLCM(_ A: Int64, _ B: Int64) -> Int64 { return A * B / getGCD(A, B) } func soluton() -> Void { //MARK: - I..

PROSJEK

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ์ง์ ‘ ์†์œผ๋กœ ๊ณ„์‚ฐ์„ ํ•ด๋ณด๋ฉด A[1] = B[1] ์ด๊ณ , A[i] = B[i] * i - (A[1] + ... + A[i - 1]) (๋‹จ, i >= 2) ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Œ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // PROSJEK // // Created by ์ด์˜์žฌ on 2022/03/08. //MARK: - PROSJEK //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { //MARK: - Input guard let N: Int = Int(readLine() ?? "0") else { return } guard let input = readL..

fibonacci

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ F(n) = F(n - 1) + F(n - 2) ๋™์ ๊ณ„ํš๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // Fibonacci // // Created by ์ด์˜์žฌ on 2022/03/07. //MARK: - fibonacci //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { //MARK: - Input guard let n: Int = Int(readLine() ?? "0") else { return } var fibonacci: [Int] = Array(repeating: 0, count: n + 10) //MARK: - Pro..

nextnum

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ์ฃผ์–ด์ง„ ์ˆซ์ž๊ฐ€ 3๊ฐœ ์ด๊ณ , ๋ชจ๋“  ์ž…๋ ฅ ์ผ€์ด์Šค๋Š” ๋“ฑ์ฐจ์ˆ˜์—ด ๋˜๋Š” ๋“ฑ๋น„์ˆ˜์—ด์ธ ๊ฒƒ์ด ๋ณด์žฅ ๋˜๋ฏ€๋กœ, ์„ธ ์ˆ˜ ์‚ฌ์ด์˜ ์ฐจ๊ฐ€ ๊ฐ™์œผ๋ฉด ๋“ฑ์ฐจ์ˆ˜์—ด ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋“ฑ๋น„์ˆ˜์—ด๋กœ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Œ. 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // NextNum // // Created by ์ด์˜์žฌ on 2022/03/07. //MARK: - nextnum //MARK: - Framework import Foundation //MARK: - Function func solution() -> Void { var answer: String = "" while true { guard let input = readLine()?.components(separatedBy: " ") e..

K๋ฒˆ์งธ ํฐ ์ˆ˜ ์ฐพ๊ธฐ

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ๋ฌธ์ œ์˜ ํฌ๊ธฐ๊ฐ€ 100,000 ์ด๋ฏ€๋กœ O(n^2)์œผ๋กœ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Œ. ๋”ฐ๋ผ์„œ, ์‚ฝ์ž… ์ •๋ ฌ, ์„ ํƒ ์ •๋ ฌ, ๋ฒ„๋ธ” ์ •๋ ฌ ๋ณด๋‹ค๋Š” ํ•ฉ๋ณ‘์ •๋ ฌ, ํ€ต ์ •๋ ฌ ๋“ฑ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ ํ•˜์ง€๋งŒ ๋‚ด์žฅ ํ•จ์ˆ˜์ธ sort() ํ˜น์€ sorted()๊ฐ€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์—๋Š” ๊ฐ€์žฅ ๋น ๋ฅด๋ฏ€๋กœ ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•จ ์ž…๋ ฅ ๋ฐ›์€ ์ •๋ ฌ์„ sorted() ํ•จ์ˆ˜๋กœ ์ •๋ ฌ ํ›„ k = 1์ผ ๊ฒฝ์šฐ ์ œ์ผ ํฐ ์›์†Œ ์ด๋ฏ€๋กœ ๊ฑฐ๊พธ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ ‘๊ทผ ํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ 5. ์ „์ฒด ์ฝ”๋“œ // // main.swift // Knumber // // Created by ์ด์˜์žฌ on 2022/02/28. //MARK: - k๋ฒˆ์งธ ํฐ ์ˆ˜ ์ฐพ๊ธฐ //MARK: - Framework import Foundat..

seat

1. ๋ฌธ์ œ 2. ์ž…์ถœ๋ ฅ 3. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ 4. ๋ฌธ์ œ ์„ค๊ณ„ ์ „ํ˜•์ ์ธ ๋‹ฌํŒฝ์ด ๋ฐฐ์—ด ๋ฌธ์ œ ๋ฌธ์ œ์˜ ํฌ๊ธฐ๊ฐ€ 1000์ด๋ฏ€๋กœ O(N^2) ์ฆ‰, ์™„์ „ํƒ์ƒ‰์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 2์ฐจ์› ๋ฐฐ์—ด์˜ ํ…Œ๋‘๋ฆฌ์— ์—ฌ์œ  ๊ณต๊ฐ„์„ ๋‘์–ด์„œ ๋ฐฐ์—ด index ์—๋Ÿฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ์ž…๋ ฅํ•œ K์˜ ๊ฐ’์ด R * C๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ์ขŒ์„์„ ๋ฐฐ์ •๋ฐ›์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ํ•ด๋‹น ๊ฒฝ์šฐ๋ฅผ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•จ. ๋ฌธ์ œ์—์„œ๋Š” ์™ผ์ชฝ ์•„๋ž˜๊ฐ€ (1, 1)์ด์ง€๋งŒ ์‹ค์ œ ๋ฐฐ์—ด์—์„œ๋Š” ์™ผ์ชฝ ์•„๋ž˜๊ฐ€ (1, 6)์ด๋ฏ€๋กœ (1, 6)๋ถ€ํ„ฐ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•จ ์œ„ ๋ฐฉํ–ฅ ์ด๋™์ธ ๊ฒฝ์šฐ ๋ฐ”๋กœ ์œ„ ์ธ๋ฑ์Šค(y์ถ• ์ด๋™)๊ฐ€ false์ผ ๊ฒฝ์šฐ์—๋งŒ ํ˜„์žฌ ์ขŒ์„์— true๋ฅผ ์ค„ ์ˆ˜ ์žˆ๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ํ˜„์žฌ ์ขŒ์„์—์„œ ํƒ์ƒ‰์„ ๋ฉˆ์ถค ์˜ค๋ฅธ์ชฝ ๋ฐฉํ–ฅ ์ด๋™์ธ ๊ฒฝ์šฐ ๋ฐ”๋กœ ๋‹ค์Œ ์ธ๋ฑ์Šค(x์ถ• ์ด๋™)๊ฐ€ false์ผ ๊ฒฝ์šฐ์—๋งŒ ํ˜„์žฌ..