알고리즘
[백준 BOJ] BOJ-1059 좋은 구간
#1059 좋은 구간 문제 정리 풀이 import Foundation let l = Int(readLine()!)! let s = Set(readLine()!.split(separator: " ").map { Int($0)! }) let n = Int(readLine()!)! var min = 1 var max = 1000 // 0. n이 집합 S에 속하는 경우 if s.contains(n) { min = n max = n } else { // 0. n-1 방향으로 진행하면서 집합 S와 일치하는 값이 있으면 직후의 값을 min에 저장 for i in stride(from: n, through: 1, by: -1) { if s.contains(i) { min = i+1 break } } // 0. n+1 ..
[백준 BOJ] BOJ-1010 다리 놓기
#1010 다리 놓기 문제 정리 풀이 import Foundation let t = Int(readLine()!)! var nm: [[Int]] = [] for _ in 0.. Double { return factorial(n) / (factorial(n - r) * factorial(r)) } func factorial(_ n: Int) -> Double { return (1..
[백준 BOJ] BOJ-1008 A/B
#1008 A/B 문제 정리 정수끼리의 나눗셈은 / 사용 시 나머지를 제외한 정수부분만 나오고 % 사용 시 나머지만 나오게 된다. 어떻게 소숫점까지 출력할 지가 관건인 문제였다. 풀이 import Foundation let input = readLine()!.split(separator: " ").map { Double($0)! } print(input[0] / input[1]) 실수끼리의 나눗셈은 소숫점까지 나온다는 점을 이용해 풀었다. 풀고나서 알게된 것 map을 통한 형변환은 신이다..