전체 글

문제 링크 https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 문제 풀이 처음에는 단순히 진실을 아는 사람과 참석 인원 중 교집합이 없는 파티를 구하면 되는 것 아닌가 하고 간단히 생각했습니다. 하지만 그렇게 생각하면 예제 입력 4번부터 출력이 다르게 됩니다. 문제에서 주어진 조건은 지민이가 거짓말쟁이로 알려지지 않으면서, 과장된 이야기를 할 수 있는 파티 개수를 구하는 것이었습니다. 만약, 1번 친구가 진실을 모른다고 1번 친구만 있는 파티에서 거짓말을 했..
· Algorithm
문제 링크 https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 문제 풀이 한 노드와 다른 노드 사이의 usado가 그 사이의 usado의 최솟값이라는 조건을 보고 처음에는 해당 조건을 활용해서 usado들을 모두 저장해놓고 결과를 구해야하나 했습니다. 그것보다는 bfs를 활용하여 노드를 하나씩 이동하며 usado를 최솟값으로 갱신하고 k보다 usado가 클 경우 결괏값을 1씩 증가시키는 것이 효율..
문제 링크 https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 문제 풀이 fun main() = with(System.`in`.bufferedReader()) { val (n, k) = readLine().split(" ").map { it.toInt() } val temperature = readLine().split(" ").map { it.toInt() }.toIntArray() var sum = temperature.slice(..
문제 링크 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 풀이 fun main() = with(System.`in`.bufferedReader()) { val n = readLine().toInt() val times = Array(n) { Array(2) { 0 } } repeat(n) { val line = readLine().split(" ") times[it][0] = line[0].toInt() times[it][1] = line[1].toInt() } times.sortWith(compareBy { it[1] }.thenBy { it[0] }..
· Algorithm
정렬 1) 기본 정렬 1. Immutable 리스트 기본 정렬 val list = listOf(20, 10, 40, 30, 50) val sortedList = list.sorted() println("List : $list") println("SortedList : $sortedList") // 결과 // List : [20, 10, 40, 30, 50] // sortedList : [10, 20, 30, 40, 50] 불변 리스트이므로 원본 리스트는 변경되지 않습니다. 2. Mutable 리스트 기본 정렬 val mutableList = MutableList(20, 10, 40, 30, 50) mutableList.sort() println("MutableList : $mutableList") // ..
· Algorithm
문제 링크 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 풀이 import kotlin.math.max fun main() = with(System.`in`.bufferedReader()) { val n = readLine().toInt() val weights = Array(n) { 0 } for (i in 0..< n) { weights[i] = readLine().toInt() } weights.sort() var maxW..
· Algorithm
문제 링크 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 풀이 fun main() = with(System.`in`.bufferedReader()) { var (n, k) = readLine().split(" ").map { it.toInt() } val coins = mutableListOf() var result = 0 repeat(n) { coins.add(readLi..
· Algorithm
입출력 입력 fun main() = with(System.`in`.bufferedReader()) { // 정수 하나 읽기 val num = readLine().toInt() // 공백 기준으로 읽기 val nums = readLine().split(" ").map { it.toInt() } // 문자열을 char 배열로 받기 val char = readLine().toCharArray } 출력 fun main() = with(System.`out`.bufferedReader()) { // 기본 print("hello") // bufferedWriter val sout = BufferedWriter(OutputStreamWriter(System.out)) sout.appendLine() sout.flus..
YOONJELLY
JELLYJELLY