BOJ/Swift 4

백준 2579번 계단 오르기 Swift

https://www.acmicpc.net/problem/2579내 코드let N = Int(readLine()!)!var S: [Int] = []var dp: [Int] = Array(repeating: 0, count: N)for _ in 0..Review처음에는 아래 사진 처럼, 가지치기 형식으로 풀었습니다.하지만 가지치기 단계에서 같은 연산이 반복되는 중복되는 과정도 있었기 때문에다이나믹 프로그래밍(DP) 방식으로 생각을 돌렸습니다.문제의 조건은 아래와 같습니다.1. 계단을 오를 때, 한 번에 1 계단, 2 계단 씩 오를 수 있습니다.2. 한계단씩 3번 연속으로 오를 수 없습니다.예를 들어, 한 번에 계단 1, 2, 3을 모두 밟으면 안 됩니다.점화식 마지막 계단을 밟기 전의 상황을 생각해 본다면..

BOJ/Swift 2024.05.13

백준 2609번 최대공약수와 최소공배수 Swift

https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 내 코드 // 유클리드 호제법 func gcd(_ a: Int, _ b: Int) -> Int { var a = a var b = b while b != 0 { let temp = b b = a % b a = temp } return a } func lcm(_ a: Int, _ b: Int, gcd: Int) -> Int { return (a * b / gcd) } let input = readLine()!.split(separator: " ").map { Int..

BOJ/Swift 2024.04.18

백준 1000번 A+B swift

https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 내 코드 let input = readLine()!.split(separator: " ") print(Int(input[0])! + Int(input[1])!) Review readline() 은 리턴값이 옵셔널 이에요! 따라서 Swift에서 input을 받을 때 옵셔널 언래핑 과정을 생각해 줘야 해요. 이상으로 swift 언어의 가장 기본적인 문제를 풀어 보았습니다. 관련 내용은 옵셔널 관련 글에서도 찾아볼 수 있어요! https://thingjin.tistory.com/entry/Swift-Optional-%EA..

BOJ/Swift 2023.06.22