적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

Algorithm/Baekjoon 46

[Swift 알고리즘] 백준 2231 분해합

백준 2231번 브루트 포스 예제 2단계 1차시도 : 69100KB / 296ms 아무런 조건 없이 그냥 1부터 다 검사하는 걸로 해도 시간은 오래걸리지만 통과는 되더라. func minGenerator(_ n: Int) -> Int { for i in 1...n { var sum = i for j in String(i) { sum += Int(String(j))! } if sum == n { return i } } return 0 } 2차시도 : 69100KB / 8ms 1부터 다 체크하는 건 비효율적이기 때문에 조건을 달아주었다. 입력 숫자가 256일 경우, 각 자리 수의 최대 합은 2 + 9 + 9 = 20 이 된다고 생각했다. 그러면 256의 생성자는 최소 256 - 20 = 236 이상이 될 수..

Algorithm/Baekjoon 2022.04.28

[Swift 알고리즘] 백준 10870 피보나치 수 5

백준 10870번 재귀함수 기초 예제 피보나치 수 let input = Int(readLine()!)! print(Fibonacci(input)) //재귀함수 func Fibonacci(_ n: Int) -> Int { if n == 0 { return 0 } else if n == 1 { return 1 } else { return Fibonacci(n - 1) + Fibonacci(n - 2) } } //재귀함수 축약 func Fibonacci(_ n: Int) -> Int { return n < 2 ? n : Fibonacci(n-1) + Fibonacci(n-2) } 재귀함수를 사용하면 코드가 직관적이고 가독성이 좋다. ternery operator를 사용하여 한 줄로 축약할 수도 있다. 반복문으..

Algorithm/Baekjoon 2022.04.27

[Swift 알고리즘] 백준 10872 팩토리얼

백준 10872번 재귀함수 기초 예제 팩토리얼 //반복문 let input = Int(readLine()!)! print(factorial(input)) func factorial(_ n: Int) -> Int { var result = 1 if n > 1 { for i in 2...n { result *= i } } return result } //재귀함수 let input = Int(readLine()!)! print(factorial(input)) func factorial(_ n: Int) -> Int { if n == 0 { return 1 } return n * factorial(n - 1) } //꼬리재귀 let input = Int(readLine()!)! print(factorial(in..

Algorithm/Baekjoon 2022.04.27

[Swift 알고리즘] 백준 1000번 A+B

Swift로 알고리즘 입문! 확실히 알고리즘같은 걸 공부하기엔 파이썬이 훨씬 편했던 것 같다.. 자주 사용하는 함수들이나 프로그램 자체가 Swift는 프론트 개발에 맞춰있어서 알고리즘 문제를 풀기엔 간단한 문제라도 아주 낯선느낌..? ㅎㅎㅎ 첫번째 난관은 입력 받아오기! 플레이그라운드에서는 입력 받아오는 게 불가하고, 새로운 Xcode 프로젝트를 생성할 때, macOS 의 Command Line Tool 을 사용해야만 console 창에 값을 입력할 수 있다고 한다. 백준 1000번 문제 : 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 : 첫째 줄에 A+B를 출력한다. readLine()으로 입력을..

Algorithm/Baekjoon 2021.04.05
728x90
반응형