[알고리즘] 백준 10989번 : 수 정렬하기 3 (Kotlin) www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 이 문제는 시간초과에 대해 신경써야 하는 문제이므로 비교적 성능이 무거운 Scanner의 사용을 배제한다 1. 아슬아슬하게 채점된 BufferedReader + BufferedWriter + Arrays.sort() fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val bw = BufferedWriter(OutputStreamWriter(System.o..
[알고리즘] 백준 10870번 : 피보나치 수 5 (Kotlin) www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1. 재귀 fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val input = br.readLine().toInt() print(fibonacci(input)) } fun fibonacci(N: Int): Int { return if (N < 2) N else fibonacci(N - 1) + f..
[알고리즘] 백준 2839번 : 설탕 배달 (Kotlin) www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 알고리즘은 정말 생각하면 할수록 더 나은 풀이가 나오는것 같습니다..! 1. 제가 처음 풀었을때의 코드입니다 fun main() = with(System.`in`.bufferedReader()) { var input = readLine().toInt() var count = 0 while (true) { if (input % 5 == 0) { print("${input / 5 + count}") break } else i..
[알고리즘] 백준 10952번 : A+B-5 (Kotlin) www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. Scanner 를 이용한 방식 import java.util.* fun main(args: Array) = with(Scanner(System.`in`)) { while (true) { val A = nextInt() val B = nextInt() if (A == 0 && B == 0) { break } println("${A + B}") } } 2. BufferedReader 를 이용한 방식 import java.io.BufferedReader import java.io.InputStreamReader impo..
[알고리즘] 백준 10871번 : X보다 작은 수 (Kotlin) 알고리즘의 공부가 필요하겠다 싶어서 공부를 시작하게 됐는데 문제를 이해하는게 어렵네요ㅋㅋ 문제를 이해하면 로직은간단한거같은데 문제를 이해하는게 관건일듯 싶습니다 www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 1. Scanner와 IntArray를 이용한 방식 import java.util.* fun main(args: Array) = with(Scanner(System.`in`)) { val n = nextInt() val x = nextI..