본문 바로가기

코딩테스트/프로그래머스17

[프로그래머스] 완전탐색 : 카펫 Kotlin 노란색의 가로 * 2 + 노란색의 세로 * 2 + 4가 갈색의 수와 같다는 것을 이용하면 된다. 이제 노란색의 가로, 세로만 정해주면 되는데 가능한 약수들을 찾고 약수로 위의 식에 대입해서 계산해보면 된다. 약수를 찾는데서 완전탐색인것 같다. class Solution { fun solution(brown: Int, yellow: Int): IntArray { return (1..yellow) .filter { yellow % it == 0 } .first { brown == (yellow / it * 2) + (it * 2) + 4 } .let { intArrayOf(yellow / it + 2, it + 2) } } } 2020. 10. 2.
[프로그래머스] 완전탐색 : 소수 찾기 Kotlin 만들 수 있는 숫자를 조합을 사용하여 먼저 구하고 해당 조합들이 소수인지 전부 확인해보았다. class Solution { lateinit var string: String lateinit var check: BooleanArray val answerSet = mutableSetOf() fun solution(numbers: String): Int { string = numbers check = BooleanArray(string.length) permutation(0,"") return answerSet.size } fun permutation(depth: Int, makeStr: String){ if(depth == string.length){ if(makeStr.equals("")) return i.. 2020. 10. 2.
[프로그래머스] 완전탐색 : 모의고사 Kotlin 모든 경우의 수를 비교해보는 완전탐색 문제이다. 이런 문제를 풀 때 패턴을 미리 배열로 선언해놓고 사용하면 편하다! Pair를 사용하여 수포자 번호와 맞힌 문제의 수를 관리하였다. 답과 같으면 +1 해주고 해당 값으로 정렬하였다. class Solution { fun solution(answers: IntArray): IntArray { var answer = mutableListOf() var first = intArrayOf(1,2,3,4,5) var second = intArrayOf(2,1,2,3,2,4,2,5) var third = intArrayOf(3,3,1,1,2,2,4,4,5,5) var cntList = mutableListOf(Pair(1,0),Pair(2,0),Pair(3,0)) a.. 2020. 10. 2.
[프로그래머스] 정렬 : H-Index Kotlin 이 문제는,,, 읽고 너무 헷갈렸다,,, h가 citations 배열에 있는 수가 아니어도 되더라,,, 예를 들어 3,0,6,1,5 일때 0,1,3,5,6으로 정렬하고 보면 3번 이상 인용된 논문이 3편 이상이고(3,5,6) 나머지 논문이(0,1) 3번 이하 인용되었기 때문에 h가 3이다. 근데 여기서 3이 배열 값이라서 무조건 배열에 있는 값이 대상이라고 헷갈렸었다. 그렇게 생각하지말고 1,2,3,4,5... 이렇게 h값을 가져간다고 생각하는게 더 편하다. * 여기서 h번 이상이기 때문에 꼭 배열값이 h일 필요는 없다. 자, 그러면 문제를 풀어보자. 일단 정렬을 해보자. 그리고 앞에서부터 지금 보고 있는 것보다 많이 인용된 것의 개수(h)가 지금 배열의 값보다 큰지 확인한다. * 정렬을 했기 때문에 전.. 2020. 9. 26.