728x90

forEachIndexed 2

kotlin 프로그래머스 lv2 H-Index

해당 문제를보고서 문제자체가 이해가 가질않아서 H-Index에 대해 찾아보았다. 즉, 피인용수 리스트 citations 를 내림차순으로 정렬한 후, 인덱스의 1더한 값과 리스트 요소를 비교해서 작아지기 인덱스값보다 인용수가 작아지기 직전의 시점에서의 위치가 H-지수가 된다는 것이다. 그래서 나는 코드를 아래와 같이 작성하였다. 테스트는 통과됐지만, 제출 시 통과되지 않아서 다른 사람의 풀이를 보았다. 그 중 아래 코드가 정말 간결했다. fun solution(citations: IntArray): Int = citations.sortedDescending().filterIndexed { index, i -> (index + 1) [Kotlin] 프로그래머스 > 코딩테스트 연습 > 정렬 > H-index ..

kotlin 프로그래머스 lv1 푸드 파이트 대회

문제를 설명해보자면 음식의 종류가 3가지가 있고 food 배열에서 i는 음식 종류이다. food[i]는 음식을 count한 값이다. 이 예시를 보면, food 배열이 주어질때 result로 food[i]번만큼 append해주면 된다고 생각했다. 그렇지만 모두 다 append하지 않고 두 선수가 각자 같은양을 나눠 갖기 때문에 짝수번이면 한사람당 repeat(count/2)만큼 반복하면되고 홀수번이면 (count-1)/2 만큼 반복하면 된다고 생각했다. 그래서 코드를 아래와 같이 작성했다. 두 선수가 양쪽 끝에서 시합을 하기때문에 어차피 같은 양만큼 먹는다고 설명되어서 reverse를 사용했다. forEachIndexed 를 사용해서 food 배열의 index와 count(배열의 value)를 간단히 나타..

728x90