Algorithm159 [Lesson 1] Binary Gap 문제 코드fun solution(N: Int): Int { var n = N val binary = StringBuffer() val sequenceList = mutableListOf() while (n != 0) { binary.append("${n % 2}") n /= 2 } binary.reverse() // println(binary.reverse()) var count = 0 for (i in binary.indices) { if (binary[i] == '1') { if (count > 0) sequenceList.add(count) // println("list: $.. 2024. 7. 26. #7568 덩치 문제 코드fun main() = with(System.`in`.bufferedReader()) { val n = readLine().toInt() val group: MutableList = mutableListOf() repeat(n) { val (h, w) = readLine().split(" ").map { it.toInt() } group.add(Person(h, w)) } group.forEach { for (p in group) { if (it.height 풀이처음엔 정렬로 풀어야 하나 싶었다.근데 키와 몸무게 중 하나만 큰 경우엔 어떤 방식으로 정렬해야할지 모르겠더라N이 생각보다 작길래 그냥 이중 for문으.. 2024. 7. 26. #8979 올림픽 문제 코드fun main() { val br = System.`in`.bufferedReader() val (n, k) = br.readLine().split(" ").map { it.toInt() } val input = Array(1001) { IntArray(3) } val medal = mutableListOf>() repeat(n) { val l = br.readLine().split(" ").map { it.toInt() } input[l[0]] = l.subList(1, 4).toIntArray() medal.add(l.subList(1, 4)) } medal.sortWith(compareByDescending> { .. 2024. 7. 26. #9655 돌 게임 문제 코드fun main() { val n = readln().toInt() val winner = BooleanArray(1001) winner[1] = true; winner[3] = true for (i in 4..n) { winner[i] = !(winner[i - 1] && winner[i - 3]) } println(if (winner[n]) "SK" else "CY")} 풀이이전에 풀었을 땐, 그냥 상근이와 창영이가 번갈아서 이기는 걸로 문제를 풀었었다.하지만 원래라면 dp로 풀어야 하는 문제기 때문에 dp에 대한 감각도 되찾을겸 dp로 해결해 보았다. 돌은 1개 또는 3개를 가져갈 수 있음이렇게 되면 처음 시작하는 사람이 1개를 가져가는 경우, .. 2024. 7. 25. #11723 집합 문제코드fun main() { val br = System.`in`.bufferedReader() val sb = StringBuffer() val n = br.readLine().toInt() val s = IntArray(21) repeat(n) { val input = br.readLine() val (cmd, x) = if (input == "all" || input == "empty") { input to -1 } else { input.split(" ").let { it[0] to it[1].toInt() } } when (cmd) { "add" .. 2024. 7. 25. #1157 단어 공부 문제 코드fun main() { val str = readln().uppercase() val count = IntArray(26) var maxCount = 0 var maxIndex = 0 for (c in str) { count[c.code - 65]++ } for (i in count.indices) { if (count[i] == count.max()) { maxCount++ maxIndex = i } } if (maxCount > 1) println("?") else println((maxIndex + 65).toChar())}단순하게 풀었을 때fun main() .. 2024. 7. 23. 이전 1 2 3 4 5 6 ··· 27 다음