브론즈
[백준][코틀린] 12605 단어순서 뒤집기
문제 내용 문제 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 이루어져 있다. 단어 사이에는 하나의 스페이스만 들어간다. 입력 첫 행은 N이며, 전체 케이스의 개수이다. N개의 케이스들이 이어지는데, 각 케이스는 스페이스로 띄어진 단어들이다. 스페이스는 라인의 처음과 끝에는 나타나지 않는다. N과 L은 다음 범위를 가진다. N = 5 1 ≤ L ≤ 25 출력 각 케이스에 대해서, 케이스 번호가 x일때 "Case #x: " 를 출력한 후 그 후에 이어서 단어들을 반대 순서로 출력한다. 예제 입력 예제 출력 3 this is a test foobar all your b..
[백준][코틀린] 8595 히든 넘버
문제 내용 문제 단어에 숫자가 숨어있다. 이 숫자를 히든 넘버라고 한다. 알파벳 대/소문자와 숫자로 이루어진 단어가 주어졌을 때, 모든 히든 넘버의 합을 구하는 프로그램을 작성하시오. 단어와 히든 넘버는 아래와 같은 성질을 갖는다. 연속된 숫자는 한 히든 넘버이다. 두 히든 넘버 사이에는 글자가 적어도 한 개 있다. 히든 넘버는 6자리를 넘지 않는다. 입력 첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다. 출력 입력으로 주어진 단어에 숨어있는 모든 히든 넘버의 합을 출력한다. 만약, 히든 넘버가 없는 경우에는 0을 출력한다. 예제 입력 예제 출력 14 ab13c9d07jeden 29 문제 풀..
[백준][코틀린] 11024 더하기 4
문제 내용 문제 수 N개가 주어졌을 때, N개의 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 또, 0으로 시작하는 수는 주어지지 않는다. 출력 각 테스트 케이스마다 입력받은 수 N개의 합을 한 줄에 하나씩 입력받은 순서대로 출력한다. 예제 입력 예제 출력 2 1 2 3 4 5 5 4 5 4 2 3 1 2 15 26 문제 풀이 테스트 케이스 별로 들어온 리스트의 합을 구해주면 된다! ̆̈ 코드 fun main() { val br = System.`in`.bufferedReader() re..
[백준][코틀린] 11023 더하기 3
문제 내용 문제 수 N개가 주어졌을 때, N개의 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 또, 0으로 시작하는 수는 주어지지 않는다. 출력 입력받은 수 N개의 합을 출력한다. 예제 입력 예제 출력 1 2 3 4 5 15 5 4 5 4 2 3 1 2 26 문제 풀이 들어온 리스트를 sumOf를 통해 계산해주기만 하면 된다~ ̆̈ 코드 fun main() = print(readLine()!!.split(" ").sumOf { it.toInt() }) 링크 11023번: 더하기 3 첫째 줄에 N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어..
[백준][코틀린] 1182 부분수열의 합
문제 내용 문제 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다. 출력 입력받은 그대로 출력한다. 예제 입력 예제 출력 Hello Baekjoon Online Judge Hello Baekjoon Online Judge 문제 풀이 이 문제는 총 몇줄이 주어진다 등 정보를 주지 않는다. 다른 것 처럼 공백이 들어왔을 때 종료를 할 수 있는거도 아니고, 문자열의 끝을 판단해서 거기까지만 출력해야되는 문제이다. Kotlin에서 readLine은 문자열이 들어오지 않았을 때 null을 반환..
[백준][코틀린] 10870 피보나치 수 5
문제 내용 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 $$F_n = F_{n-1} + F_{n-2} (n ≥ 2) $$가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 예제 입력 예제 출력 10 55 문제 풀이 첫번째 풀이는 재귀..
[백준][코틀린] 10872 팩토리얼
문제 내용 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 예제 입력 예제 출력 10 3628800 0 1 문제 풀이 첫번째 풀이 기본적인 재귀를 활용한 풀이이다. 문제 조건대로 출력하면 된다. 두번째 풀이 dp를 활용한 풀이이다. ̆̈ 코드 // 재귀를 이용한 풀이 fun main() { println(factorial(readLine()!!.toInt())) } fun factorial(number: Int): Int { return if (number in 0..1) 1 else factorial(number-1) * number } // DP를 활용한 풀이 fu..
[백준][코틀린] 1001 A-B
문제 내용 문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0
[백준][코틀린] 1000 A+B
🐯 이전에 풀었던 브론즈 문제들도 누군가에게는 도움이 될 것 같아 나눠서 함께 포스팅 문제 내용 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0
[백준][코틀린] 11050 이항 계수 1
문제 내용 문제 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) 출력 \(\binom{N}{K}\)를 출력한다. 예제 입력 예제 출력 5 2 10 문제 풀이 이항 계수 관련 설명은 (https://ko.wikipedia.org/wiki/이항_계수)를 참고하는 것이 좋을 것 같다! 아니면 다른 블로그에도 설명이 잘되어있다. n\(C\)k를 구하면 되는데, 정석대로 구하려면 \(\frac{N!}{K!(N-K)!}\) 로 계산해야겠지만 고등학교때 손계산 당시 자주 사용했던 방법으로 풀어보았다. 예를 들어 5\(C\)2 일..
[백준][코틀린] 1259 팰린드롬수
문제 내용 문제 어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다. 수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. 출력 각 ..
[백준][코틀린] 2231 분해합
문제 내용 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 예제 출력 216 198 문제 풀이 어떤 숫자의 분해 합은 어떤 숫자 ..