본문 바로가기

Algorithm159

#14719 빗물 문제 코드fun main() = with(System.`in`.bufferedReader()) { val (h, w) = readLine().split(' ').map { it.toInt() } val block = readLine().split(' ').map { it.toInt() } val world = Array(h) { IntArray(w) } var result = 0 for (i in block.indices) { for (j in 0.. max) max = j } } for (j in min + 1.. 풀이처음에는 어떻게 풀어야 하나 좀 막막했는데, 한 행씩 보면 쉽게 풀린다.이 부분에서 아래에서 두 번째 .. 2024. 8. 7.
#2504 괄호의 값 문제  코드import java.util.Stackfun main() = with(System.`in`.bufferedReader()) { val input = readLine() val s = Stack() var temp = 1 var result = 0 for (i in input.indices) { when (input[i]) { '(' -> { s.push('(') temp *= 2 } '[' -> { s.push('[') temp *= 3 } ')' -.. 2024. 8. 7.
#1978 소수 찾기 문제 코드import kotlin.math.sqrtfun main() = with(System.`in`.bufferedReader()) { readLine() val num = readLine().split(' ').map { it.toInt() } val prime = BooleanArray(1001) {true} prime[0] = false; prime[1] = false for (i in 1..sqrt(1000f).toInt()) { // 특정 숫자의 제곱근까지만 확인하면 됨 if (!prime[i]) continue for (j in i * i .. 1000 step i) { // i의 제곱부터 시작하면 됨 prime[j].. 2024. 8. 6.
#20125 쿠키의 신체 측정 문제 코드fun main() = with(System.`in`.bufferedReader()) { val n = readLine().toInt() val cookie = Array(n) { BooleanArray(n) } var heart = Pair(0, 0) var lArm = 0; var rArm = 0; var waist = 0 ; var lLeg = 0 ; var rLeg = 0 for (i in 0.. 풀이처음에 dfs쓰는 문젠줄 알았다근데 그냥 단순하게 구현하면 될 것 같았다 구현하다가 중첩 반복문을 중단하는 법에 대해 배웠다여러 가지 방법이 있는데 1. 종료 여부 확인용 변수 생성var exit = falsefor(i in 0..2) { for (j in 0.. 2024. 7. 29.
[Lesson 2] OddOccurrencesInArray 문제 코드fun solution(A: IntArray): Int { var unpaired = 0 for(e in A) { unpaired = unpaired xor e } return unpaired}  풀이fun solution(A: IntArray): Int { val sortedA = A.sorted() // i , i + 1 확인 -> 같음 -> +2 해서 확인 // i, i+1 다름 -> sortedA[i] 출력 후 break // i + 1 >= A.size 이면 [A.size-1] 출력 var i = 0 while(i 시간 복잡도가 O(n^2) 으로 탐색됐다고 뜬다아마 sort 연산 때문인 것 같다sort 없이 pair로 .. 2024. 7. 28.
[Lesson 2] CyclicRotation 문제 코드fun solution(A: IntArray, K: Int): IntArray { val rotated = IntArray(A.size) for (i in A.indices) { rotated[(i + K) % (A.size)] = A[i] } return rotated}fun main() = with(System.`in`.bufferedReader()) { val a = readLine().split(' ').map { it.toInt() }.toIntArray() val k = readLine().toInt() println(solution(a, k).contentToString())}문제를 IDE 환경에서도 풀 수 있도록 main 함수를 추.. 2024. 7. 27.