백준 스위프트 4

[백준] 2869번 : 달팽이는 올라가고 싶다 - Swift

문제 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 코드 import Foundation var input = readLine()!.components(separatedBy: " ") let numA = Double(input[0])! let numB = Double(input[1])! let numV = Double(input[2])! var n = (numV - numA)/(numA-numB)+1 if n.truncatingRemainder(dividingBy: 1) != 0 {n = n/1 + ..

[백준] 11047번 : 동전 0 - Swift

문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 import Foundation let arr = readLine()?.split(separator: " ").map{Int($0)} let n = arr![0] var k = arr![1] var result = 0 var list = [Int]() for _ in 0..

[백준] 1463번 : 1로 만들기 - Swift

문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 코드 1년전에는 Dynamic Programming에 대해서 아는 것이 없었다. 처음에는 반복문을 통해서 C++로 풀었다. 물론 틀렸다!🤦🏻‍♀️ 이 문제는 DP로 Bottom-up 방식으로 풀어야한다. Swift로 작성한 코드는 다음과 같다. import Foundation //1463 var num = Int(readLine()!) var list = [Int](repeating: 0, count: num!+1) for i in 2..list[i/2] + 1) { list[i] = list[i/2] +..

[백준] 11729번 : 하노이 탑 이동 순서 - Swift

문제 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 코드 var num = Int(readLine()!) var result = 1 for _ in 0..

반응형