728x90
안녕하세요 코코종입니다.
백준 1일 1알고리즘(언제까지 갈지 모르지만)을 시작했습니다. 많관부~
//
// main.swift
// BackJoon
//
// Created by kokojong on 2023/04/03.
//
//
import Foundation
// 20115 에너지 드링크 그리디 실3
// 5
// 3 2 10 9 6
let n = Int(readLine()!)!
let input = readLine()!
var result: Double = 0.0
var arr: [Double] = input.components(separatedBy: " ").map { Double($0)! }.sorted()
//print(arr)
result = arr.last!
for i in 0..<n-1 {
result = result + arr[i] / 2
}
print(result)
어차피 참고하려고 검색하셨을테니 문제에 대한 내용은 생략하도록 하겠습니다(앞으로도...)
가장 큰 값을 만드려면 가장 큰 애를 살려둬야 한다는 생각으로
1 2 3 4를 예로 들면 (4 + 3/2) + 2/2 + 1/2 이런식으로 처리했습니다. 처음에는 반대로 생각했었는데요
(1/2 + 2) / 2 + 3 이런식으로요! 그러나 예시에 나온 답이 아니라서 반대로 해봤더니 성공했습니다 ^^
728x90
'알고리즘' 카테고리의 다른 글
[Swift 알고리즘] 백준 1180 행렬 (7) | 2023.04.06 |
---|---|
[Swift 알고리즘] 백준 11501 주식 (0) | 2023.04.06 |
[Swift 알고리즘] Codility lesson5 - CountDiv (0) | 2023.01.10 |
[Swift 알고리즘] Codility lesson5 - PassingCar (0) | 2022.12.11 |
[Swift 알고리즘] Codility lesson4 - MissingInteger (0) | 2022.12.07 |