https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 난이도 : 브론즈 2 태그 : 수학, 구현 설명 16진수 수가 주어지면 10진수로 변환해 출력하는 문제입니다. 소스코드 fun main() { println(readln().toInt(16)) } 코틀린에서는 toInt(16)으로, 흔히 사용하는 toInt()에 매개변수로 16을 넣어주면 16진수로 변환이 됩니다. 같은 방식으로 2진수, 8진수도 가능합니다.
https://www.acmicpc.net/problem/2953 2953번: 나는 요리사다 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5 www.acmicpc.net 난이도 : 브론즈 3 태그 : 수학, 구현, 사칙연산 설명 5명의 참가자의 점수의 총합 중, 가장 높은 점수와 몇 번째 참가자인지 찾는 문제입니다. 소스코드 fun main() = with(System.`in`.bufferedReader()) { val arr = Array(5) { readLine().split(" ").map { it.toInt() }.toTypedArray().sum() } ..
https://www.acmicpc.net/problem/27324 27324번: ゾロ目 (Same Numbers) N の十の位の数字と一の位の数字が同じである場合は 1 を,そうでない場合は 0 を出力せよ. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 사칙연산 설명 이번엔 무슨 문제를 들고 왔을까요. 바로 일본어 문제입니다. 당연하게도, 일본어를 읽을 줄 모르므로 번역기를 사용했는데, 두 자리 숫자가 주어지면, 첫 번째와 두 번째 자리수를 비교해 같으면 1, 다르면 0을 출력하는 문제입니다. 전체 코드 fun main() { val line = readln() if (line[0] == line[1]) println(1) else println(0) } 후기 영어, 폴란드어, 러시아어에 ..
https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 난이도 : 실버 5 태그 : 정렬 설명 정렬하고, k번째로 큰 수를 출력하는 문제입니다. 소스코드 import java.util.* fun main() = with(System.`in`.bufferedReader()) { val (n, k) = readLine().split(" ").map { it.toInt() } StringTokenizer(readLine()).let { st -> val arr = Array(n) { st.nextToken()..
https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 난이도 : 골드 4 태그 : 그래프 이론, 데이크스트라 설명 다익스트라를 응용해야 하는 것은 쉽게 알아챌 수 있었지만, 상하좌우 탐색를 해야 하는 탐색에서 어떻게 구현하냐 고민을 많이 했습니다. 어음.. 다익스트라가 아니라 BFS를 사용해야 하나? 하는 마음에 질문게시판을 뒤적거려봤는데, 다익스트라 + BFS를 연상케 하는 형태로 풀 수 있었습니다 소스코드 import java...
https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 난이도 : 실버 3 태그 : 자료 구조, 문자열, 정렬, 해시를 사용한 집합과 맵 설명 이 문제 같은 경우, 문자열 별로 카운트를 해야 하므로, 해시맵을 유용하게 쓸 수 있겠습니다. 소스코드 fun main(): Unit = with(System.`in`.bufferedReader()) { val hashMap = HashMap() repeat(readLine().toInt()) { val..
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈. 대망의 마지막 문제입니다. 9번의 소스에 10, 11번의 변형이 가해진 문제네요. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer lateinit var arr: Array var n = 0 var m ..
https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈. 11번째 문제입니다. 이번에도 9번의 소스에 약간의 변형을 가해 풀어보겠습니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.* lateinit var arr: Array var n = 0 var m = 0 val sb = St..
https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 N과 M 시리즈 10번째 문제입니다. 이제 이 시리즈도 얼마 남지 않았군요. 다들 예상하셨듯, 9번 문제에 2, 6번과 같 변형을 가한 문제입니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTokenizer lateinit var ..
https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 난이도 : 실버 3 태그 : 백트래킹 설명 이번엔 새로운 변화구입니다. 5번의 문제 처럼 배열이 주어지지만, 5~8번은 n개의 자연수가 서로 다른 수 였습니다. 하지만 이번 문제부터는 중복될 수 있는 n개의 자연수가 주어집니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader import java.util.StringTok..