Programming
RxSwift: ํ์ต ์ ๋ฆฌ
RxSwift: ํ์ต ์ ๋ฆฌ
2021.05.14์ต์ ๋ฒ ํจํด 1:N ๊ด๊ณ๋ก ์ด๋ฃจ์ด์ง, ๊ด์ฐฐ ํจํด ๊ฐ์ฒด๋ฅผ ๊ตฌ๋
ํ๋ฉด ์ต์ ๋ฒ๊ฐ ์ํ๋ฅผ ์๋ ค์ค ํจ์ํ ํ๋ก๊ทธ๋๋ฐ 1๊ธ ๊ฐ์ฒด ๋ณ์๋ ์์์ ์ ์ฅ์ ํ ์ ์์ด์ผ ํจ ํจ์์์ return ํ ์ ์์ด์ผ ํจ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ์ ์์ด์ผ ํจ ์์ ํจ์ /* ํ์จ ๊ณ์ฐํด์ฃผ๋ ํ๋ก๊ทธ๋จ ์ด ์ฝ๋๋ ์์ ํจ์๋ผ๊ณ ํ ์ ์๋ค. → ์ ์ญ ์ํ์ ์์กด = ์ฐธ์กฐ ํฌ๋ช
์ฑ์ด ์๋ค */ var rate = 1120 func krw(usd: Int) -> Int { return usd * rate } krw(usd: 2) // 2240 krw(usd: 3) // 3360 rate = 1130 krw(usd: 2) // 2260 krw(usd: 3) // 3390 ReactiveX ๊ด์ฐฐ ๊ฐ๋ฅํ ์คํธ๋ฆผ์ ์ด์ฉํ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ API Re..
Programmers: ๋คํธ์ํฌ
Programmers: ๋คํธ์ํฌ
2021.05.14๋ฌธ์ ๋
ํด๋ฅผ ์๋ชปํด์ ํท๊ฐ๋ ธ๋ ๋ฌธ์ . ์ฌํ bfs/dfs ๋ฌธ์ ๋ ๋น์ทํ๊ฒ ํธ๋๋ฐ, ๋ฐ๊นฅ์์ ๋ชจ๋ ์ปดํจํฐ๋ฅผ ์ํํ๋ฉด์ ํ ๋ฒ์ด๋ผ๋ ๋ฐฉ๋ฌธํ ๊ณณ์ visited ๋ณ์์ ๋ด์ ์ฒดํฌํ๋ค. ์ด๋ฏธ ๋ฐฉ๋ฌธํ ๊ณณ์ ์ปดํจํฐ๋ผ๋ฆฌ ์ฐ๊ฒฐ๋์๋ค๋ ๋ป์ด๋๊น ใ
ใ
๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/43162 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift import Foundation func solution(_ n:Int, _ computers:[[Int]]) -> Int { var graph = [Int: [Int]]() for i in 0..
LeetCode: Letter Combinations of a Phone Number
LeetCode: Letter Combinations of a Phone Number
2021.05.13์
๋ ฅ์ผ๋ก ๋ค์ด์จ digits์ letter์ ์ ๊ทผํ๊ธฐ ์ํ ์ธ๋ฑ์ค๋ก ๋ณํํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฑํธ๋ํน์ผ๋ก ๋ฌธ์ ์กฐํฉ์ ๊ตฌํ๋ฉด ๋๋ค. ๋ค๋ฅธ ์กฐํฉ ๋ฌธ์ ์ ํฌ๊ฒ ๋ค๋ฅผ ๊ฒ ์์ ๋ฌธ์ https://leetcode.com/problems/letter-combinations-of-a-phone-number/ ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift class Solution { func letterCombinations(_ digits: String) -> [String] { let letter: [[Character]] = [ ["a", "b", "c"], ["d", "e", "f"], ["g", "h", "i"], ["j", "k", "l"], ["m", "n", "o"], ["p", "q", "r", "s"], ["t", "u"..
KMP ๋ฌธ์์ด ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ
KMP ๋ฌธ์์ด ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ
2021.05.09์ด ๊ธ์ ๋ณดํธ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ณด๋ ค๋ฉด ์ํธ๊ฐ ํ์ํฉ๋๋ค.
Programmers: ํ๊ฒ ๋๋ฒ
Programmers: ํ๊ฒ ๋๋ฒ
2021.05.08๋ชจ๋ ์กฐํฉ์ ๋ง๋ค์ด์, ์ฐ์ฐ์ ํด๋ณด๊ณ target๊ณผ ๊ฐ์ผ๋ฉด answer๊ฐ์ 1์ฉ ์ฆ๊ฐ์ํจ๋ค. ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/43165 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift import Foundation func solution(_ numbers:[Int], _ target:Int) -> Int { var answer = 0 let n = numbers.count var picked = [Bool]() let op = [true, false] func pick(toPick: Int) { if toPick == 0 { var sum = 0 for i in 0..
BOJ: #6603 - ๋ก๋
BOJ: #6603 - ๋ก๋
2021.05.06์ค๋ณต์ ์ฒ๋ฆฌํด์ฃผ๊ธฐ ์ํด์ visited ๋ณ์๋ฅผ ์ด์ฉํด ์ฒดํฌํ๊ณ , ์ฌ์ ์์ผ๋ก ํ์ํ๊ธฐ ์ํด ์ด์ ์ ๊ณ ๋ฅธ ์๊ฐ ํ์ฌ ๊ณ ๋ฅธ ์๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ ๊ฑด๋๋ฐ๊ฒ ํ๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/6603 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift while let input = readLine() { if input == "0" { break } let nums = Array(input.split(separator: " ").map { Int(String($0))! }) let n = nums.count var picked = [String]() var visited = Array(repeating: false, count: n) func pick(toPick: Int) { if toPick ==..
BOJ: #10974 - ๋ชจ๋ ์์ด
BOJ: #10974 - ๋ชจ๋ ์์ด
2021.05.0404:21 N๊ณผ M ์๋ฆฌ์ฆ ์ค์.. ์ด๋ค ๋ฌธ์ ๋ ๋๊ฐ์ ๋ฌธ์ https://www.acmicpc.net/problem/10974 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let n = Int(readLine()!)! var picked = [Int]() var visited = Array(repeating: false, count: n) func pick(toPick: Int) { if toPick == 0 { print(picked.map { String($0) }.joined(separator: " ")) return } for i in 0..
BOJ: #10819 - ์ฐจ์ด๋ฅผ ์ต๋๋ก
BOJ: #10819 - ์ฐจ์ด๋ฅผ ์ต๋๋ก
2021.05.0405:33 ๋ชจ๋ ์กฐํฉ์ ๋ง๋ค์ด์ ์ต๋๊ฐ ์ฐพ๊ธฐ ๋ฌธ์ https://www.acmicpc.net/problem/10819 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let n = Int(readLine()!)! let nums = readLine()!.split(separator: " ").map { Int(String($0))! } var results = [[Int]]() var picked = [Int]() var visited = Array(repeating: false, count: n) func pick() { if picked.count == n { results.append(picked) return } for i in 0..
BOJ: #1759 - ์ํธ ๋ง๋ค๊ธฐ
BOJ: #1759 - ์ํธ ๋ง๋ค๊ธฐ
2021.05.0423:52 ์ฒ์์๋ ๋ชจ์์ ๊ฐ์๋ง ์ฒดํฌํ๋๋ฐ, ์์์ ๊ฐ์๋ ์ฒดํฌํด์ผ ํ๋ค๋ ๊ฑธ ๋ณด๊ณ .. ์์ ํ๋๋ ํต๊ณผ. ์ค๋ณต์ด ์์ด์ผ ํ๋๊น visited ๋ณ์๋ก ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ํ์ธ ์ํธ์์ ์ฆ๊ฐํ๋ ์์๋๋ก๋ง ๋์ฌ ์ ์๋ค๊ณ ํด์ ascii ๊ฐ์ผ๋ก ํ์ธ ๋ฌธ์ https://www.acmicpc.net/problem/1759 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let x = readLine()!.split(separator: " ").map { Int(String($0))! } let l = x[0] let c = x[1] let alpha = readLine()!.split(separator: " ").map { String($0) } var picked = [String]() var results = [String]() ..
BOJ: #1182 - ๋ถ๋ถ์์ด์ ํฉ
BOJ: #1182 - ๋ถ๋ถ์์ด์ ํฉ
2021.05.01๋๋ ์ด๋ค ์ ํ์ ์ ํํ๋ ์ฝ๋๋ฅผ ์ธ์ฐ๋ฉด, ๋๋ถ๋ถ์ ๋ฌธ์ ๋ฅผ ๊ทธ ๋ฐฉ์์ ์์ฉํด์ ํผ๋ค. ๊ทธ๋์ ์ด ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ ๋นํจ์จ์ ์ธ ์ฝ๋๊ฐ ๋์๋ค. ์๊ฐ์ ๋ณด๋ ๋ค๋ฅธ ๋ถ์ ๋นํด ์ฝ 50๋ฐฐ๊ฐ ๋๋ ธ๋ค(…). ๊ทธ๋์ ๋ ๊ฐ๊ฒฐํ ์ฝ๋๊ฐ ๊ถ๊ธํด์ ์ดํด๋ณด์๋๋ฐ, ๊ตณ์ด ๋ฐฐ์ด์ ์ฐ์ง ์๊ณ , ๋ณ์์ ์ ์ฅํด์ ์ฌ๊ท๋ฅผ ๋๊ธฐ๊ณ (?), ํ๋ ๋ฐฉ์์ผ๋ก ํ๋๋ผ. ์๋ฌดํผ ์ด๊ฑด ๋์ค์ ๋ค์ ํ์ด๋ด์ผ๊ฒ ๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/1182 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let target = input[1] let nums = readLine()!.s..
BOJ: #2573 - ๋น์ฐ
BOJ: #2573 - ๋น์ฐ
2021.04.3027:09 ๋ ๋ฌ ์ ์ ์๋ํ์ ๋๋ ๋ชป ํ์๋๋ฐ, ์ค๋ ๋ค์ ํ์๋๋ฐ ํต๊ณผํ๋ค. ๊ฐ๋์ ๋๋ฌผ…. ๋ฐํํ. ๋
น์ด๊ณ , ๋ฉ์ด๋ฆฌ ๊ฐ์๋ฅผ ์ธ์ ํ์ธํ๋ฉด ๋๋ค. ์ด์ ๋ณด๋, ์์ ์ ์ฝ๋ ๋๋น 2๋ฐฐ ์ ๋ ์ค์ด๋ค์๋ค. ใ
0ใ
๋ฌธ์ https://www.acmicpc.net/problem/2573 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let size = readLine()!.split(separator: " ").map { Int(String($0))! } let col = size[0] let row = size[1] let direction = [(1, 0), (0, 1), (-1, 0), (0, -1)] var board = [[Int]]() for _ in 0..
BOJ: #15686 - ์นํจ ๋ฐฐ๋ฌ
BOJ: #15686 - ์นํจ ๋ฐฐ๋ฌ
2021.04.29ใ
..ใ
ใ
ใ
… ์ ๋ฐ!!!!!!!! ์ง๋ฌธ ์ข ์ ์ฝ์!!!!!!!!!!!!!! ์์์ ๋ ์นธ (r1, c1)๊ณผ (r2, c2) ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ |r1-r2| + |c1-c2|๋ก ๊ตฌํ๋ค. (r1, c1), (r2, c2)๋ฅผ (r1, r2), (c1, c2)๋ก ์ฝ์ด์ ์ฝ์ง ์ค์ง๊ฒ ํ๋ค. ๋ฌธ์ https://www.acmicpc.net/problem/15686 ๋ด๊ฐ ์์ฑํ ์ฝ๋ Swift let input = readLine()!.split(separator: " ").map { Int(String($0))! } let n = input[0] let m = input[1] var board = [[Int]]() var chicken = [(Int, Int)]() var house = [(Int, Int)]() f..