목록백준 알고리즘 문제 기록 (74)
Where who wants to meet someone
난이도 브론즈 II 문제 https://www.acmicpc.net/problem/25501 25501번: 재귀의 귀재 각 테스트케이스마다, isPalindrome 함수의 반환값과 recursion 함수의 호출 횟수를 한 줄에 공백으로 구분하여 출력한다. www.acmicpc.net 내 답안 var palindromeCount = 0 func testPalindrome(of text: [String], from left: Int, to right: Int) -> Int { palindromeCount += 1 if left >= right { return 1 } else if text[left] != text[right] { return 0 } else { return testPalindrome(of: ..
난이도 브론즈 II 문제 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 내 답안 func fibonacci(from value: Int) -> Int { switch value { case 0: return 0 case 1: return 1 default: return fibonacci(from: value - 1) + fibonacci(from: value - 2) } } print(fibonacci(..
난이도 브론즈 V 문제 https://www.acmicpc.net/problem/27433 27433번: 팩토리얼 2 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 내 답안 func factorial(from value: Int) -> Int { if value Enable collaborative features and customize widget: Bing Webmaster Portal Back
난이도 실버 III 문제 https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 내 답안 var wordDictionary = [String : Int]() let input = readLine()!.split(separator: " ").map { Int($0)! } let n = input[0] let m = input[1] for _ in 1...n { let word = rea..
난이도 실버 III 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 내 답안 import Foundation var numbers = [Int]() let n = Int(readLine()!)! var nDic = [Int : Int]() for _ in 1...n { let inputValue = Int(readLine()!)! numbers.append(inputValue) let nCount = nDic[inputValue] ?? 0 nDic.up..