๋ชฉ๋กํ๋ก๊ทธ๋๋ฐ (135)
Bibi's DevLog ๐ค๐
4458 ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก 4458๋ฒ: ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํ๋ ๋ฌธ์ . ์์ฒญ ์ฌ์ด ๋ฌธ์ ์ธ๋ฐ 1์๊ฐ ์ ๋ ์ ์๋์ง?๋ฅผ ๋ฐ๋ณตํ๋ค๊ฐ ๊ตฌ๊ธ๋ง์ ํตํด ์ ๋ต ์ฝ๋๋ฅผ ๋ดค๋ค.ใ ํ์ด 1 (๋ฐํ์ ์๋ฌ) let count = Int(readLine()!)! var answer: [String] = [] if count
3047๋ฒ: ABC ์ฒซ ์ค ์ ๋ ฅ์์ A < B < C ์ธ ์ A, B, C๋ฅผ ์ฐพ๊ณ ๋๋ฒ์งธ ์ค ์ ๋ ฅ์์ ์ฃผ์ด์ง๋ ์์๋๋ก A, B, C๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ฒซ ์ ๋ ฅ ๋ฐ์ ๋ Int๋ก ์บ์คํ ์ํด๋ ๋๋? ํด์ ์ํ๋๋ฐ, ๊ทธ๊ฑด ํ ์๋ฆฌ ์ ๊ธฐ์ค์์๋ง ์ฑ๋ฆฝํ๊ณ , ์ฌ๋ฌ ์๋ฆฌ ์ ์ ๋ ฌํ ๋๋ ๋ฐ๋์ Int๋ก ๋ณํํด์ค์ผ ํ๋ค. String ์ ๋ ฌ : 1, 4, 3 → 1, 3, 4 (O) / 1, 9, 11 → 1, 11, 9 (X) Int ์ ๋ ฌ : 1, 4, 3 → 1, 3, 4 (O) / 1, 9, 11 → 1, 9, 11 (O) ํ์ด var input = readLine()!.split(separator: " ").map { Int($0)! } input = input.sorted() let order = read..
์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ๊ฐ ์์๊ฐ ๋ ธ๋๋ก ๋์ด ์๋ ์ฐ์๋ ๋ฐ์ดํฐ๋ค์ด๋ค. node ๋ ธ๋ : ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ํ๋์ ์์๋ฅผ ๋งํจ head : ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์์ ๋ ธ๋๋ฅผ ์ฐธ์กฐํ๋ ํฌ์ธํฐ tail : ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ ๋ ธ๋๋ฅผ ์ฐธ์กฐํ๋ ํฌ์ธํฐ ์ ํ ๋จ๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ singly linked list : ๊ฐ ํญ๋ชฉ์ด ๋ค์ ๋ ธ๋์ ๋ํ ์ฐธ์กฐ๋ง ๊ฐ์ง ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ doubly linked list : ๊ฐ ํญ๋ชฉ์ด ์, ๋ค ๋ ธ๋์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ชจ๋ ๊ฐ์ง ๋จ๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ตฌํํ๊ธฐ (Swift) https://www.raywenderlich.com/books/data-structures-algorithms-in-swift/v3.0/chapters/6-linked-list ํ๋กํ ์ฝ ์ฑํํ๋ ๋ถ๋ถ ์ด์ ๊น์ง ์ ๋ฆฌํ์ต..
์ฐธ๊ณ ๋งํฌ [์ฝ๋ฉํ ์คํธ ๋๋น] ์์ด(Permutation)๊ณผ ์กฐํฉ(Combination) ์๊ณ ๋ฆฌ์ฆ ์์ด ๊ตฌํํ๊ธฐ Permutation /// ์์ด permutation // ๊ธธ์ด๊ฐ n์ธ ๋ฐฐ์ด์์ r๊ฐ์ ์์๋ฅผ ์ฐจ๋ก๋๋ก ๋ฝ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค. // ๋ฐ๋ณต๋ฌธ : for๋ฌธ์ r๋ฒ ์ค์ฒฉ - i, j, k์ ์ค๋ณต์ ๋ฐฐ์ ํ๋ค func permutation() { // (n = 4, r = 3)๊ธธ์ด 4์ธ ๋ฐฐ์ด์์ 3๊ฐ์ ์์ ๋ฝ๊ธฐ let array = [1, 2, 3, 4] var answer: [[Int]] = [] for i in array.indices { // r๋ฒ ์ค์ฒฉ for j in array.indices { for k in array.indices { if (i == j || j == k || k ..
3035๋ฒ: ์ค์บ๋ ๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๋ฐ ์ข ์ค๋ ๊ฑธ๋ ธ๋ ๋ฌธ์ ..๐ค ์ฒซ ์ค์ดํ ์ฃผ์ด์ง๋ ์ ๋ ฅ์ ๊ฐ๊ฐ์ ๋ฌธ์๋ฅผ ZR*ZC๋งํผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค. m*n ํ๋ ฌ : ๊ฐ๋ก๋ก m์ค, ์ธ๋ก๋ก n์ค ํ = row = ๊ฐ๋ก ์ด = column = ์ธ๋ก ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ๋ง ํท๊ฐ๋ฆฌ์ง ์๊ณ ์ ์ฌ์ฉํ๋ฉด ํ ์ ์๋ค. ๊ฐ ๋ฌธ์๋ณ๋ก ZC๋งํผ ๋ฐ๋ณตํด ํ ์ค์ ๋ง๋ ๋ค, ๋ง๋ ํ ์ค์ ZR๋งํผ ๋ฐ๋ณต ์ถ๋ ฅํ๋ค. ํ์ด let inputArr = readLine()!.split(separator: " ").map { Int($0)! } let r = inputArr[0] let c = inputArr[1] let zr = inputArr[2] // ์ธ๋ก let zc = inputArr[3] // ๊ฐ๋ก var answer: [String] = ..
3004๋ฒ: ์ฒด์คํ ์กฐ๊ฐ ๋๋ฌดํ์ n๋ฒ ์๋ฅผ ๋ ์ต๋ ๋ช ์กฐ๊ฐ ์ด ๋๋์ง ์ถ๋ ฅํ๋ ๋ฌธ์ ํฌ๊ฒ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ท์น์ ์ฐพ์ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ์๊ฐ์ ํ์ ๊ฑธ๋ฆด๊น ๋ด ๊ท์น์ ์ฐพ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ค. ๊ทผ๋ฐ ๊ฒฐ๊ตญ ์ฌ์ฉํ ๊ฒ reduce๋ผ์.. ์ฝ๊ฒ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ ๊ทผํ ๊ฑธ ์ถ๊ธฐ๋. (์๊ฐ์ ํ์ ๊ฑธ๋ฆฌ์ง ์๋ ๋ฏ - n์ ์ต๋๊ฐ์ด 100์ด๋ผ) ๊ท์น 1 : 2 2 : 4 3 : 6 4 : 9 5 : 12 6 : 16 7 : 20 8 : 25 9 : 30 10 : 36 ํ์ด1 (๋์ ํ์ด) 1์ผ๋ ์ด๊ธฐ๊ฐ์ด 2, ๋๋จธ์ง๋ +2 +2 +3 +3 +4 +4 .. ํจํด n์ด ํ์์ผ ๋๋ ์ด๊ธฐ๊ฐ 2์, 2๋ถํฐ (n + 1) / 2 ๊น์ง ๋ํ ๊ฐ์ ๊ณฑํ๊ธฐ 2 n=7 → 2 + (2…4) * 2 = 20 n์ด ์ง์์ผ ๋๋ ์ด..
2966๋ฒ: ์ฐ๊ธฐ ํ๋ก๊ทธ๋๋จธ์ค์ ‘๋ชจ์๊ณ ์ฌ’๋ฌธ์ ์ ๊ฑฐ์ ๋์ผํ๋ค. (https://school.programmers.co.kr/learn/courses/30/lessons/42840) ์ ํด์ง ํจํด๋๋ก ์ฐ์์ ๋ ๋๊ฐ ๊ฐ์ฅ ๋ง์ ์ ์๋ฅผ ๋ฐ๋์ง ์ถ๋ ฅ ๋์ ์๊ฐ ์์ ์ ์์ผ๋ฏ๋ก max๋ฅผ ์ฐพ์ ๊ฐ ์ธ์์ ์ ์์ ๋น๊ตํ๋ค ๋์ ์์ ๊ฒฝ์ฐ ์ฃผ์ด์ง ์ด๋ฆ ์์๋๋ก ์ถ๋ ฅํด์ผ ํจ ํจํด์ ๋ฐ๋ณต๋๋ ๋ถ๋ถ๊น์ง ํ๋์ฝ๋ฉ ํ, ์ธ๋ฑ์ค๋ฅผ ๋์ด๊ฐ์ง ์๋๋ก ๋๋จธ์ง ์ฐ์ฐ์๋ฅผ ํ์ฉํ๋ค. ํ์ด let count = Int(readLine()!)! let answers = readLine()!.map { String($0) } let student1 = ["A", "B", "C"] let student2 = ["B", "A", "B", "C"]..
https://www.acmicpc.net/problem/2953 2953๋ฒ: ๋๋ ์๋ฆฌ์ฌ๋ค "๋๋ ์๋ฆฌ์ฌ๋ค"๋ ๋ค์ฏ ์ฐธ๊ฐ์๋ค์ด ์๋ก์ ์๋ฆฌ ์ค๋ ฅ์ ๋ฝ๋ด๋ ํฐ๋น ํ๋ก์ด๋ค. ๊ฐ ์ฐธ๊ฐ์๋ ์์ ์๋ ์์์ ํ๋์ฉ ๋ง๋ค์ด์ค๊ณ , ์๋ก ๋ค๋ฅธ ์ฌ๋์ ์์์ ์ ์๋ก ํ๊ฐํด์ค๋ค. ์ ์๋ 1์ ๋ถํฐ 5 www.acmicpc.net ๊ฐ ์ค์ ์ฃผ์ด์ง์ซ์๋ฅผ ํฉํ๊ณ , ๊ฐ์ฅ ํฐ ์ ์์ ๊ทธ ์ ์์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค. ํ์ด var num = 0 var score = 0 (1...5).forEach { number in let inputSum = readLine()!.split(separator: " ").map { Int($0)! }.reduce(0, +) if inputSum > score { score = inputSum num = ..