티스토리 뷰
728x90
반응형
프로그래머스) 과일 장수 - Level1
https://school.programmers.co.kr/learn/courses/30/lessons/135808
import Foundation
// k 점부터 1점 까지의 사과
// 한 상자에 사과를 m개씩 담음
// (가장 낮은 점수 * 사과 갯수)가 한 상자의 가격
// 한 상자 단위로만 팔고, 남은 사과는 버림.
// 얻을 수 있는 최대 이익은?
// 총 만들 수 있는 상자 수
// 싼 점수의 사과
func solution(_ k:Int, _ m:Int, _ score:[Int]) -> Int {
var sortedScores: [Int] = score.sorted(by: >)
var answer: Int = 0
while sortedScores.count >= m {
var apples: [Int] = []
for _ in 0..<m {
apples.append(sortedScores.removeFirst())
}
answer += apples[m - 1] * m
}
return answer
}
// 테스트 11-15 시간 초과.
// while 문에서 시간 복잡도가 크다고 판단.
func solution(_ k:Int, _ m:Int, _ score:[Int]) -> Int {
var answer: Int = 0
var sortedScores: [Int] = score.sorted(by: >)
// m 간격으로 마지막 점수를 계산.
// 인덱스로 접근하기 때문에 시간복잡도가 적다고 판단.
// to 파라미터는 포함x
// through 파라미터는 포함o
for index in stride(from: m - 1, to: sortedScores.count, by: m) {
answer += sortedScores[index] * m
}
return answer
}
print(solution(4, 3, [4, 1, 2, 2, 4, 4, 4, 4, 1, 2, 4, 2]))
// 33
728x90
반응형
'Algorithm' 카테고리의 다른 글
프로그래머스) 숫자 짝꿍 - Level1 (0) | 2022.11.17 |
---|---|
프로그래머스) 푸드 파이터 대회 - Level1 (0) | 2022.11.17 |
프로그래머스) 콜라 문제 - Level1 (0) | 2022.11.17 |
[프로그래머스] 2021 KAKAO BLIND RECRUITMENT - 광고 삽입 (0) | 2022.08.31 |
Algorithm) Floyd-Warshall(플로이드-워셜) 알고리즘 (0) | 2022.08.31 |
댓글
TAG
- RxCocoa
- Widget
- urlsession
- APNS
- YPImagePicker
- github
- SwiftUI
- CloneCoding
- IOS
- projectsetting
- WWDC22
- Firebase
- rxswift
- MOYA
- Swift
- Protocol
- WidgetKit
- 2022 KAKAO TECH INTERNSHIP
- Notification
- async/await
- Algorithm
- UserDefaults
- watchOS
- WWDC
- Objective-C
- containerBackground
- MVVM
- configurable widget
- 서버통신
- OpenSourceLibrary
최근에 올라온 글
최근에 달린 댓글
글 보관함
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
링크
- Total
- Today
- Yesterday