문제 출처 : https://www.acmicpc.net/problem/31562 언어 : Kotlin 문제 설명 :윤수와 정환은 「전주 듣고 노래 맞히기」라는 게임을 할 예정이다. 「전주 듣고 노래 맞히기」는 주어진 노래의 전주를 듣고 먼저 제목을 맞히는 사람이 점수를 얻어 최종적으로 점수가 더 많은 사람이 이기는 게임이다. 절대 음감을 가진 윤수는 노래의 첫 네 음만 듣고도 어떤 노래든 바로 맞힐 수 있다. 따라서, 정환은 윤수를 이기기 위해 첫 세 음만으로 노래를 맞히게 해주는 프로그램을 만들려고 한다. 우선 정환이 알고 있는 노래 제목, 음이름 등을 데이터로 만든 뒤 프로그램을 구현하기 시작했다. 예를 들어, 다음은 TwinkleStar(반짝반짝 작은 별)의 악보 중 일부이다.위 악보를 박자와 관..
문제 출처 : https://www.acmicpc.net/problem/30822 언어 : Kotlin 문제 설명 :배봉산에 살고 있는 여우는 문자열을 가지고 노는 것을 좋아한다. 여우는 특히 그중에서도 'uospc'라는 모양을 가장 좋아한다! 여우는 자신이 가진 문자열의 순서를 재배열하여 'uospc' 모양을 최대한 많이 만들려고 한다. 예를 들어 'suspicion'이라는 문자열을 재배열하면 'uospcsiin'라는 문자열을 얻을 수 있고. 'processyourpurchase'라는 문자열을 재배열하면 'uospcuospcreyrrhase'라는 문자열을 얻을 수 있다. 알파벳 소문자로만 이루어진 임의의 문자열 S가 주어졌을 때. 똑똑한 여우가 이 문자열을 적절히 재배열하여 얻을 수 있는 'uospc'..
문제 출처 : https://www.acmicpc.net/problem/13264 언어 : Kotlin 문제 설명 :접미사 배열은 문자열 S의 모든 접미사를 사전순으로 정렬해 놓은 배열이다. baekjoon의 접미사는 baekjoon, aekjoon, ekjoon, kjoon, joon, oon, on, n 으로 총 8가지가 있고, 이를 사전순으로 정렬하면, aekjoon, baekjoon, ekjoon, joon, kjoon, n, on, oon이 된다. 각각의 접미사는 시작하는 문자의 번호를 이용해서 정수로 나타낼 수 있다. 예를 들어, baekjoon은 0번 접미사이고, joon은 4번 접미사이다. 문자열 S가 주어졌을 때, 모든 접미사를 사전순으로 정렬한 다음 접미사 번호를 출력하는 프로그램을 작..
문제 출처 : https://www.acmicpc.net/problem/32132 언어 : Kotlin 문제 설명 :오늘도 피돌이는 백준에서 PS를 하고 있다. 하지만 PS라는 이름의 특성상 PlayStation으로 오해를 받고는 한다. 게시판에 글을 작성하던 중, 문득 피돌이는 문자열에 "PS4" 혹은 "PS5"를 부분 문자열로 포함하면 사람들이 PlayStation에 대한 얘기로 오해한다는 것을 깨달았다. 피돌이는 이러한 오해를 받지 않기 위해 자신이 작성하던 문자열에서 "PS4" 혹은 "PS5"가 보인다면 "PS4" 혹은 "PS5"가 나타나지 않을 때까지 숫자를 지워 문자열을 변경하기로 했다. 문자열이 주어졌을 때, "PS4" 혹은 "PS5"가 나오지 않을 때까지 문자열에서 숫자를 지워 출력하여라...
문제 출처 : https://www.acmicpc.net/problem/20973 언어 : Kotlin 문제 설명 :A little known fact about cows is that they have their own version of the alphabet, the "cowphabet". It consists of the 26 letters 'a' through 'z', but when a cow speaks the cowphabet, she lists these letters in a specific ordering that might be different from the order 'abcdefghijklmnopqrstuvwxyz' we are used to hearing. To pass t..
문제 출처 : https://www.acmicpc.net/problem/27257 언어 : Kotlin 문제 설명 :Саша очень любит нули. Но нули на конце числа не кажутся ему интересными. Разумеется, ведущие нули тоже не интересуют Сашу. Саша считает красоту числа равной количество нулей в его десятичной записи, за исключеним нулей в конце числа. Разумеется, ведущих нулей в записи быть не должно. Например, красота числа 100500 равна 2. По зада..
문제 출처 : https://www.acmicpc.net/problem/10935 언어 : Kotlin 문제 설명 :문자열 S가 주어졌을 때, S를 BASE64 인코딩해 출력하는 프로그램을 작성하시오. 입력 :첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다. 출력 :첫째 줄에 S를 BASE64로 인코딩한 값을 출력한다. 제한 사항 :시간 제한 : 1초메모리 제한 : 256MB 입출력 예 :입력출력BaekjoonQmFla2pvb24= 풀이 : import java.io.BufferedReaderimport java.io.BufferedWriterimport java.io.InputStreamReaderimport java.io.Outp..
문제 출처 : https://www.acmicpc.net/problem/2929 언어 : Kotlin 문제 설명 :종수는 새 마이크로프로세서를 구매했다. 새 프로세서에 예전 프로세서에서 작동하던 프로그램을 실행시키니 실행이 되지 않았다. 며칠동안 두 프로세서의 기술 문서를 살펴본 결과, 그 결과를 알게 되었다. 새 프로세서의 실행 속도를 향상시키기 위해서 프로그램 머신 코드에 제한이 새로 생겼다. 예전 프로세서에서는 제한이 없었다. 프로세서의 머신 코드는 명령을 실행할 순서대로 나열한 것이다. 각 명령은 메모리를 1바이트 사용한다. 또, 명령은 0개 또는 그 이상의 파라미터를 가질 수 있으며, 각 파라미터도 1바이트씩 메모리를 차지한다. 머신 코드에서 파라미터는 명령의 바로 뒤에 따라 나온다. 머신 코드..
문제 출처 : https://www.acmicpc.net/problem/16900 언어 : Kotlin 문제 설명 :욱제는 새로 산 컴퓨터에 이름을 붙이려고 한다. 새로 산 컴퓨터의 이름은 욱제가 가장 좋아하는 문자열인 S가 최소 K번 부분 문자열로 등장해야 한다. 가능한 이름이 여러가지면 길이가 가장 짧아야 한다. S와 K가 주어졌을 때, 욱제가 새로 산 컴퓨터 이름의 길이를 구해보자. 입력 :첫째 줄에 S와 K가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 500,000보다 작거나 같다. K는 1,000,000보다 작거나 같은 자연수이다. 출력 :첫째 줄에 욱제가 새로 산 컴퓨터 이름의 길이를 출력한다. 제한 사항 :시간 제한 : 2초메모리 제한 : 512MB 입출력 예 :입력출력ada ..
문제 출처 : https://www.acmicpc.net/problem/5636 언어 : Kotlin 문제 설명 :숫자로 이루어진 문자열이 주어진다. 이때, 부분 문자열 중에서 가장 큰 소수를 찾는 프로그램을 작성하시오.이 문제에서는 2보다 크거나 같고, 100,000보다 작거나 같은 소수만 소수이다. 입력 :입력은 여러 개의 테스트 케이스로 이루어져 있다. 테스트 케이스의 개수는 1,000개를 넘지 않는다.각 테스트 케이스는 길이가 255를 넘지 않는 숫자 문자열로 이루어져 있다. 입력의 마지막 줄에는 0이 하나 주어진다.소수 부분 문자열이 최소 하나 이상 존재하는 입력만 주어진다. 출력 :각 테스트 케이스에 대해서, 가장 큰 소수 부분 문자열을 출력한다. 제한 사항 :시간 제한 : 1초메모리 제한 :..