프로그래머스 알고리즘 Level 1 과일 장수
2023. 1. 23. 01:28ㆍ알고리즘/문제
https://school.programmers.co.kr/learn/courses/30/lessons/135808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
설명은 길지만 간단하게 말하면
사과 한 상자에 m개씩 담아서 상자의 가장 작은 사과 가치 X m개를 하면 1개 상자의 값이다.
score 를 m개씩 담아서 값을 매기고 그 값을 다 더한다는 문제이다.
먼저 score를 정렬해서 총 개수가 m개로 나누었을때 나머지가 0이 되도록 자르고 나머지는 버린다.
그리고 m개로 잘라서 각각 리스트로 만든다.
묶음으로 나온 각 list 의 가장 작은 값을 구해서
다 더한다.
class Solution {
fun solution(k: Int, m: Int, score: IntArray): Int =
score.map { it }
.sortedDescending()
.subList(0, score.size - score.size % m)
.chunked(m)
.map { list ->
list.minOf { it } * m
}
.sumOf { it }
}
'알고리즘 > 문제' 카테고리의 다른 글
프로그래머스 Level 1 코틀린 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 (0) | 2023.01.24 |
---|---|
프로그래머스 알고리즘 Level 1 코틀린 문자열 나누기 (2) | 2023.01.23 |
프로그래머스 알고리즘 Level 1 코틀린 기사단원의 무기 (0) | 2023.01.22 |
프로그래머스 알고리즘 Level1 코틀린 명예의 전당 (0) | 2023.01.22 |
프로그래머스 알고리즘 Level 1 코틀린 가장 가까운 글자 (0) | 2023.01.22 |