์ ์ฒด ๊ธ
Programmers: ํ์ค๋ ์
Programmers: ํ์ค๋ ์
2021.04.24๋งค๊ฐ๋ณ์๋ก ๋ค์ด์จ x๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ ๋ค, map์ผ๋ก ๋ค์ Int ํ๋ณํํด์ ๊ฐ๊ฐ ๋ค ๋ํ ํ ๋๋จธ์ง๊ฐ ์๋์ง ์๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฐํ๊ฐ์ ๋ฌ๋ฆฌ ํ๋ฉด ๋๋ค. ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/12947 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift func solution(_ x:Int) -> Bool { let h = String(x).map { Int(String($0))! }.reduce(0, +) return x % h == 0 ? true : false }
Programmers: ์์ ์ฐพ๊ธฐ
Programmers: ์์ ์ฐพ๊ธฐ
2021.04.23์ ์ ํ ๋ฌธ์์ด ์ฒ๋ฆฌ์ ์กฐํฉ์ ๊ตฌํด์ ์ค๋ณต ๊ฑฐ๋ฅด๊ณ , ์์ ์ฐพ์ผ๋ฉด ๋ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42839# ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift import Foundation func isPrime(_ n: Int) -> Bool { if n < 2 { // 2๋ณด๋ค ์์ผ๋ฉด ์์๊ฐ ์๋ return false } for i in 2.. Int { var picked = [String]() var results = Set() var nums = Array(numbers).map { String($0) } let m = nums.count var visited = Array(repeating: false, count: m+1) /* n: ์ ์ฒด ์์์..
BOJ: #15657 - N๊ณผ M (8)
BOJ: #15657 - N๊ณผ M (8)
2021.04.2305:04 N๊ณผ M ์๋ฆฌ์ฆ๋ฅผ ์ฐจ๋ก๋๋ก ์ญ์ฑ ํ๋ฉด์ ์ ์ ์ ๋ต ๋น์จ์ด ๋์์ง๊ธธ๋ ์ ๊ทธ๋ฐ๊ฐ ํ๋๋, ์ฌ๋๋ค์ด ์๋ฆฌ์ฆ ์์๋๋ก ํ๋ฉด์ ์ ํ์ ํ์
ํด์ ์ ๋ต์จ์ด ๋์๋ค๋ ๊ฑธ ์์๋ค. ์๋๋ฉด ๋ด๊ฐ ์ง๊ธ ๊ทธ๋ฌ๊ณ ์๊ธฐ ๋๋ฌธ์…. ์ด์ ์ฝ๊ฐ ๋ฐฑํธ๋ํน์ ๊ฐ์ด ์กํ๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/15657 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] let nums = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted() var picked = [S..
BOJ: #15656 - N๊ณผ M (7)
BOJ: #15656 - N๊ณผ M (7)
2021.04.2306:47 ์ด ๋ฌธ์ ๋ ์๋ toPick == 0์ผ ๋ picked๋ฅผ ๋ฐ๋ก ์ถ๋ ฅํ๊ฒ ํ์๋๋ฐ, ์ด๋ ๊ฒ ์ ์ถํ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋๋ค. ๊ทธ๋์ ํน์ ํ๋ ๋ง์์, ๋ฌธ์์ด๋ก ์ ์ฅํด์ ํ ๋ฒ์ ์ถ๋ ฅํ๋๋ ํต๊ณผ. ๋ฌธ์ https://www.acmicpc.net/problem/15656 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] let nums = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted() var picked = [String]() var result = "" /* n: ..
BOJ: #15655 - N๊ณผ M (6)
BOJ: #15655 - N๊ณผ M (6)
2021.04.2304:23 N๊ณผ M (1) ~ (5) ๋ฌธ์ ๋ ์ข
๋ง๋ถ์์ ๋์จ ์ฝ๋๋ฅผ ํ์ฉํด์ ํ์๋ค. (1)์ ํผ ์ฝ๋๋ก (2)๋ฅผ ํ๊ณ , (3)์ ํ๊ณ … ์ด๋ฐ์์ผ๋ก ๋ฒ ์ด์ค ์ฝ๋์์ ์ ๋ถ ์ง์ฐ๊ณ ์ฒ์๋ถํฐ ํ์ง ์๊ณ ์์ฉํด๋๊ฐ๋๋ฐ, (6)์ ์์ ๋ฒ ์ด์ค ์ฝ๋๋ฅผ ์ง์ฐ๊ณ ํ์๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/15655 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] let nums = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted() var picked = ..
BOJ: #15654 - N๊ณผ M (5)
BOJ: #15654 - N๊ณผ M (5)
2021.04.23์ค๋ณต์์ด ๋ฐฉ๋ฌธ ํด์ผํ๋ค๋ ์ ์์ N๊ณผ M (1)๊ณผ ๋์ผํ๊ฒ visited ๋ณ์๋ฅผ ์ด์ฉํด์ ์ฒดํฌํ๋ฉด ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋ฌธ์ ๋ ์์ฐจ์ ์ธ ์ซ์์ ์กฐํฉ์ ๊ตฌํ๋ ๊ฒ์ด ์๋๋ผ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์ซ์๋ค์ ์กฐํฉ์ ๊ตฌํด์ผํ๊ธฐ ๋๋ฌธ์, ๋ฐฐ์ด ๋์ ๋์
๋๋ฆฌ๋ฅผ ์ด์ฉํด ํ์๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/15654 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] let nums = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted() var picked = [..
BOJ: #15652 - N๊ณผ M (4)
BOJ: #15652 - N๊ณผ M (4)
2021.04.23N๊ณผ M (3) ๋ฌธ์ ์์ ํ๊ฐ์ง ์์ธ๋ง ์ฒ๋ฆฌํด์ฃผ๋ฉด ํ๋ฆฐ๋ค. ๋ฐ๋ก ์ง์ ์ ๊ณ ๋ฅธ ์ซ์๋ณด๋ค ํ์ฌ ์ซ์๊ฐ ์์ ๊ฒฝ์ฐ(= ๋น๋ด๋ฆผ์ฐจ์) ํด๋น ์ซ์๋ ๊ฑด๋๋ด๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/15652 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] var picked = [String]() /* n: ์ ์ฒด ์์์ ์ picked: ์ง๊ธ๊น์ง ๊ณ ๋ฅธ ์์๋ค์ ๋ฒํธ toPick: ๋ ๊ณ ๋ฅผ ์์์ ์ ์ผ ๋, ์์ผ๋ก toPick๊ฐ์ ์์๋ฅผ ๊ณ ๋ฅด๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ์ถ๋ ฅํ๋ค */ func pick(n: Int, toPick: Int)..
BOJ: #15651 - N๊ณผ M (3)
BOJ: #15651 - N๊ณผ M (3)
2021.04.23์ข
๋ง๋ถ์ ์์๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ๊ณ ์๋๋ฐ, ๋์ผํ ์ฝ๋์์๋ ๋ถ๊ตฌํ๊ณ ์ค์ํํธ์์๋ ์๊ฐ ์ด๊ณผ, ํ์ด์ฌ์์๋ ํต๊ณผ๋๋ ๊ธฐ๋ฌํ ํ์์ด ์์๋ค. ์๋ ์ฝ๋๋ ๋งค๊ฐ ๋ณ์๋ก picked ๋ฐฐ์ด์ inout์ผ๋ก ๋ฐ๊ณ ์์๋๋ฐ, ์ด๊ฒ์ด ๋ฌธ์ ์๋ค. ๋์์ ์ฃผ์ ํํ๋๊ป ์ด ์๋ฆฌ๋ฅผ ๋น์ด ๊ฐ์ฌ์ ๋ง์์ ๋๋ฆฐ๋ค. ๐ ์์ธ ์ฐพ๋๋ค๊ณ 1์๊ฐ์ ํค๋งธ๋ค. ํํ ๋ฌธ์ https://www.acmicpc.net/problem/15651 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] var picked = [Int]() /* n: ์ ์ฒด ์์์ ์ picked: ์ง๊ธ๊น์ง ๊ณ ..
Programmers: ์์ ๊ฒ์
Programmers: ์์ ๊ฒ์
2021.04.2216:26 ์ ํ์ฑ์ ํต๊ณผํ์ง๋ง, ํจ์จ์ฑ์์ ์๊ฐ ์ด๊ณผ๋ก ์คํจํ๋ค. ์นด์นด์ค ๋ธ๋ก๊ทธ์ ์๋ ํ์ด๋ฅผ ์ฝ๊ธด ํ๋๋ฐ, ์…. ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/72412 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift // ์ ํ์ฑ O, ํจ์จ์ฑ X import Foundation func solution(_ info:[String], _ query:[String]) -> [Int] { var table = [[String]]() var result = [Int]() for i in info { let split = i.split(separator: " ").map { String($0) } table.append(split) } for q in query { let com..
Programmers: ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
Programmers: ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
2021.04.2254:45 ํธ๋ ๋ฐ ์ ๋ง ์ค๋๊ฑธ๋ ธ๋ค. ์ฌ์ค ์ด ๋ฌธ์ ๋ ์์ ์๋ ๋ช ๋ฒ ์๋ํ๋ค๊ฐ ์คํจํ๋๋ฐ ์ด๋ฒ์๋ ์ฑ๊ณต! ์ผ๋จ, ์ฒ์์๋ ๋๊ธฐ ํธ๋ญ ๋ชฉ๋ก์ด ๋น์ด์๊ณ , ํ(๋ค๋ฆฌ)๊ฐ ๋น ๋๊น์ง ๋ฐ๋ณตํ๊ฒ ํ๋๋ฐ ์ด์ ๋ ๋ชฐ๋ผ๋ ๋์ํ์ง ์์์ ๋์ฐฉํ ํธ๋ญ์ ์๊ฐ ์
๋ ฅ์ผ๋ก ๋ค์ด์จ ๋๊ธฐ ํธ๋ญ ์์ ๊ฐ์ ๋๊น์ง ๋ฐ๋ณตํ๊ธฐ๋ก ํ๋ค. ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๊ณ ์๋ ํธ๋ญ์ด ์๋์ง ํ์ธํ๋ค. ์ด์ฐจํผ 1์ด์ ํ ๋์ฉ๋ฐ์ ๋ชป ์์ง์ด๋ ๊ฐ์ฅ ์ฒซ ํธ๋ญ๋ง ํ์ธํ๋ฉด ๋๋ค. ๋ค๋ฆฌ์ ์๋ ํธ๋ญ์ ๋ฌด๊ฒ์ ๋๊ธฐ ํธ๋ญ์ ๋งจ ์์ ์๋ ํธ๋ญ์ ๋ฌด๊ฒ๋ฅผ ํฉํ์ ๋, ์ด๊ณผํ์ง ์์ผ๋ฉด queue์ ๋ฃ์ด์ค๋ค. ์ด ๋, ํ์ฌ ์๊ฐ์ ๊ฐ์ด ๋ฃ์ด์ 2์์ ์๊ฐ์ ํ์ธํ ๋ ์ด๋ค. ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42583..
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต์ ๊ตฌ๋งคํ๋ค.
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ ์ ๋ต์ ๊ตฌ๋งคํ๋ค.
2021.04.21๊ตฌ๋งค ๋น์ผ ์๋ฒฝ๊น์ง๋ ์๋ง์ ๊ธ์ ์ฐพ์ ์ฝ์๋ค. PS ํ์ต๋ฒ๊ณผ ๊ด๋ จ๋ ๊ตฌ๊ธ๋ง ํ๋ฉด ๋์ค๋ ์ ๋ช
ํ ๋ธ๋ก๊ทธ ๊ธ๋ถํฐ PS ๊ฐค๋ฌ๋ฆฌ, ํ๋ก๊ทธ๋๋ฐ ๊ฐค๋ฌ๋ฆฌ ๊ธ๊น์ง ์์ญ ๊ฐ์ ๊ธ์ ์ฝ์๋ค. ์ด๋ค ์ด๋ ์ฝ๋ฉ ํ
์คํธ๋ฅผ ์ค๋นํ๊ธฐ ์ํด ์ฝ๊ธฐ์๋ ๊ณผํ ์ฑ
์ด๋ผ ํ๋ฉฐ, ๋ ์ด๋ค ์ด๋ ์ถ์ฒํ๊ธฐ๋ ํ๋ค. ์ด๋ ๊ฒ ์ฌ๋ฌ ์๊ฒฌ์ด ๋๋๋ ๊ฐ์ด๋ฐ ๊ตฌ๋งค๋ฅผ ํ๊ฒ ๋ ๊ฒฐ์ ์ ์ธ ์์ธ์ "์ ์ ์ ๋ ๊ธ์ ์ฝ๊ณ ์ถ๋ค."๋ผ๋ ์๊ฐ์ด์๋ค. ๋ธ๋ก๊ทธ์๋ ์ฑ
๋ชป์ง์๊ฒ ์ค๋ช
์ ์ํ ๊ธ์ด ๋ง๋ค. ๊ทธ๋ผ์๋ ์ฑ
์ ๊ตฌ์
ํ ๊ฑด, ํ์๋ก ์ฐ์ ๊ธ์ด ์ฝ๊ณ ์ถ์ด์๋ค. 2021๋
4์ 19์ผ(์)์ ๊ตฌ์
ํ๊ณ 4์ 20์ผ(ํ)์ ๋์ฐฉํ๋ค. ๋ค์์ ์ฑ
์์ ๊ถ์ฅํ๋ ์
๋ฌธ์๋ฅผ ์ํ ์ปค๋ฆฌํ๋ผ์ด๊ณ , ๋๋ ์ด ์ปค๋ฆฌํ๋ผ์ ๋ฐ๋ผ ์ฝ๊ณ ์๋ค. ์ฝ์ ํญ๋ชฉ์ ๋ ์ง ํ๊ธฐ๋ฅผ ํด๋ ์์ . ์ฐธ๊ณ ๋ก ๋๋ ๋ฐฑ์ค..
BOJ: #10829 - ์ด์ง์ ๋ณํ
BOJ: #10829 - ์ด์ง์ ๋ณํ
2021.04.21์ฌ๊ท๋ฅผ ์ด์ฉํ ์์ ํ์์ ์ฐ์ตํ๋ ค๊ณ ํ์๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/10829 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let x = Int(readLine()!)! var results = [Int]() func binary(_ n: Int) { // ๊ธฐ์ ์ฌ๋ก1: n์ด 0์ด๋ฉด ๋๋ธ๋ค. if n == 0 { results.append(0) return } // ๊ธฐ์ ์ฌ๋ก2: n์ด 1์ด๋ฉด ๋๋ธ๋ค. if n == 1 { results.append(1) return } // 2๋ก ๋๋ ์์ ๋๋จธ์ง๋ฅผ results์ ์ ์ฅํ๊ณ , 2๋ก ๋๋ ์๋ฅผ ์ฌ๊ท ํธ์ถํ๋ค. results.append(n%2) binary(n/2) } binary(x) print(results.reversed()...