https://www.acmicpc.net/problem/2520 2520번: 팬케이크 사랑 첫 번째 테스트 케이스에서 주어진 재료를 가지고 바나나 팬케익 10개, 딸기 팬케익 1개, 초콜릿 팬케익 4개, 호두 팬케익 1개를 만들 수 있다. 두 번째 테스트 케이스에서 주어진 재료 중 밀 www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현, 사칙연산 설명 우유 8컵, 계란 노른자 8개, 설탕 4스푼, 소금 1스푼, 밀가루 9컵이 있으면 팬케이크 반죽 16개를 만들 수 있습니다. 즉, 반죽 1개당 우유 0.5개, 노른자 0.5개, 설탕 0.25스푼, 소금 0.0625스푼, 밀가루 0.5625컵 필요합니다. 우유, 계란, 설탕, 소금, 밀가루가 각각 16, 16, 8, 2, 17만큼 있을 ..
https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 구현 설명 모든 좌표를 돌면서, 이전까지의 최대값보다 현재의 값이 더 클때, x, y와 현재의 값을 저장하고, 모든 좌표의 방문이 끝났으면 x, y를 출력합니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer fun main() { val br = Buf..
https://www.acmicpc.net/problem/11365 11365번: !밀비 급일 당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 태그 : 설명 END가 나올때 까지, 문자열을 입력받고, 입력받은 문자열을 뒤집어 출력하면 되는 문제입니다 코틀린에서는 String.reversed() 메소드를 통해 쉽게 뒤집어진 문자열을 구할 수 있습니다. 소스코드 fun main() { while(true) { val line = readLine()!! if(line == "END") break println(line.reversed()) ..
https://www.acmicpc.net/problem/25377 25377번: 빵 KOI 빵은 프로그래밍을 공부하는 학생들에게 인기를 끌고 있다. 이 빵은 맛있을 뿐 아니라, 안에 프로그래밍에 큰 도움이 되는 여러 가지 힌트가 담겨 있어서 매우 인기가 높다. 이렇게 인기가 높 www.acmicpc.net 난이도 : 브론즈 4 태그 : 구현 설명 빵을 얻을 수 있는 테스트 케이스 중, 가장 빨리 얻을 수 있는 시간을 출력합니다. 소스코드 import kotlin.math.min fun main() { var min = Int.MAX_VALUE repeat(readln().toInt()) { val (a, b) = readln().split(" ").map { it.toInt() } if ( a
https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 구현 설명 두 수가 같으면 ==, 왼쪽이 크면 >, 오른쪽이 크면 b) System.out.println(">"); else System.out.println("
https://www.acmicpc.net/problem/13699 13699번: 점화식 다음의 점화식에 의해 정의된 수열 t(n)을 생각하자: t(0)=1 t(n)=t(0)*t(n-1)+t(1)*t(n-2)+...+t(n-1)*t(0) 이 정의에 따르면, t(1)=t(0)*t(0)=1 t(2)=t(0)*t(1)+t(1)*t(0)=2 t(3)=t(0)*t(2)+t(1)*t(1)+t(2)*t(0)=5 ... 주어진 입력 0 ≤ n www.acmicpc.net 난이도 : 실버 4 태그 : 다이나믹 프로그래밍 설명 규칙성을 찾아 풀이하는게 아닌, 그냥 이전에 구한 값을 사용해 다음 값을 구하는 문제입니다. 그냥 점화식을 그대로 소스코드로 옮기면 됩니다. 소스코드 fun main() { val br = Syst..
https://www.acmicpc.net/problem/5789 5789번: 한다 안한다 첫째 줄에는 테스트 케이스의 개수 N이 주어진다. (1 ≤ N ≤ 1000) 각 테스트 케이스는 한 줄로 이루어져 있으며, 0과 1로 이루어진 문자열이 주어진다. 문자열의 길이는 항상 짝수이고, 1000보다 작 www.acmicpc.net 난이도 : 브론즈 3 태그 : 구현, 문자열 설명 단순히 가운데 두 문자만 비교하여 같으면 Do-It, 다르면 Do-It-Not을 출력하는 문제입니다. 문자열의 중간은 (문자열크기 )/ 2 - 1 ~ (문자열크기) / 2로 구할 수 있습니다. 문자열 길이가 짝수인 경우만 주어진다 명시되어 있으니, 홀수인 경우는 고려하지 않아도 됩니다. 소스코드 fun main() { val br..
https://www.acmicpc.net/problem/1388 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net 난이도 : 실버 4 태그 : 구현, 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 설명 문제 태그의 그래프 탐색과는 별개로, 그냥 타일의 개수가 몇개인지 다 카운팅해서 풀 수도 있습니다. 소스코드 fun main() { val line = readLine()!!.split(" ") val height = line[0].toInt() val width = line[1].toInt() val..
https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 난이도 : 실버 5 태그 : 구현, 그래프 이론, 브루트포스 알고리즘, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 설명 오른쪽과 아래쪽. 두 방향으로만 이동할 수 있고, 해당 칸에 있는 숫자만큼만 이동할 수 있습니다. n의 크기가 매우 작아(2 map[x][y] = st.nextToken().toInt() } } visited[0][0] = true dfs(0, 0) println("Hing")..
https://www.acmicpc.net/problem/23253 23253번: 자료구조는 정말 최고야 위 그림처럼 책이 쌓여 있으므로, 첫 번째 더미 - 두 번째 더미 - 첫 번째 더미 - 두 번째 더미 순으로 꺼내면 책 번호순으로 나열할 수 있다. www.acmicpc.net 난이도 : 실버 5 태그 : 구현, 애드 혹, 스택, 자료 구조 설명 책 더미의 맨 위에있는 책을 꺼내, 순서대로 나열할 수 있는가에 대한 문제입니다. 책더미의 맨 위에서 꺼내는 것이므로, 책 더미가 애초에 내림차순으로 정렬되어 있지 않으면 책을 순서대로 나열하는 것은 항상 불가능합니다. 즉, 쌓여있는 책의 번호를 입력받고, 이게 내림차순 정렬이 되어있는가만 판단하면 됩니다. 소스코드 import sys # 책의 개수, 책의 ..