본문 바로가기

알고리즘35

[코딩 테스트] Level. 2 하노이의 탑 (코틀린) https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr '하노이의 탑' 문제 이 문제는 어려워서 못 풀었다. 이 분이 그래도 잘 정리 해 주신 것 같다. https://shoark7.github.io/programming/algorithm/tower-of-hanoi '하노이의 탑' 이해하기 '하노이의 탑' 문제를 이해하고 문제 해결을 위한 핵심 통찰을 살핀 뒤 코드로 작성합니다. 이후 탑의 개수에 따른 총 이동 횟수를 구하는 일반항까지 수학적으로 유도.. 2023. 7. 27.
[코딩 테스트] Level. 1 추억 점수 (코틀린, Kotlin) 코딩 테스트 . 추억점수 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 문제 풀이 . 해쉬맵과 ContainsKey() 를 사용해서 풀었다. private fun solution( name: Array, yearning: IntArray, photo: Array ): IntArray { var answer: IntArray = intArrayOf() val hashMap = HashMap() name.forEachIndexed { in.. 2023. 7. 8.
[코딩 테스트] Level. 1 둘만의 암호 (kotlin,코틀린) 나의 풀이 법 테스트 문제는 통과하였으나 , 제출했을 때 런타임 에러가 나서 실패하였다. private fun solution(s: String, skip: String, index: Int): String { var answer = "" val list = ('a'..'z').toList() s.forEach { val index2 = list.indexOf(it) + index val c = ((it..list[index2]).count { l -> skip.contains(l) } + index2) % list.size answer += list[c] } return answer } 어쩔 수 없이 다른 분의 풀이 법을 보았다. 그렇게 차이나 보이진 않는데.. 잘 통과 되었다. private fun .. 2023. 6. 16.
[코딩 테스트] Level. 1 과일장수 (kotlin,코틀린) 나의 풀이 법 private fun solution(k: Int, m: Int, score: IntArray): Int { var answer: Int = 0 var length = score.size val a = score.sortedDescending() while (length >= m) { val l = score.size - length val b = a.subList(l, l + m) answer += (m * b.last()) length -= m } return answer } 다른 분의 풀이 법 fun solution(k: Int, m: Int, score: IntArray): Int { var answer: Int = 0 score.sortDescending() var num =0 s.. 2023. 5. 18.
[코딩 테스트] Level. 1 푸드파이터 개최 나의 문제 풀이법 private fun solution(food: IntArray): String { var answer= "" val a = ArrayList() food.forEachIndexed { index, i -> if (index != 0) { if (i % 2 == 0) { repeat(i / 2) { a.add(index.toString()) } } else { repeat((i - 1) / 2) { a.add(index.toString()) } } } } val b = a.reversed() val result = a + "0" + b answer = result.joinToString("") return answer } forEachIndexed{}, repeat() , joinToS.. 2023. 5. 17.
[코딩 테스트] Level. 1 햄버거 만들기 (kotlin,코틀린) 나의 풀이법. 아쉽게도 코드 실행 부분에서는 통과가 되었으나. 제출 후 채점에서는 시간초과로.. + 실패 2개 로 틀렸다. 실패 이유 아시는 분 댓글 달아주시면 감사하겠습니다. private fun solution(ingredient: IntArray): Int { var answer: Int = 0 val a = ArrayList() for (i in ingredient) { a.add(i.toString()) if (a.size > 4) { val b = a.joinToString("") if (b.substring(a.size - 4 until a.size) == "1231") { a.dropLast(4) answer++ } } } return answer } 다른 분들의 풀이 첫 번째 풀이 법. .. 2023. 5. 16.