반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 "백준 BOJ - 2217 로프" 문제를 풀었습니다.
Github
문제 링크
풀이
이번 문제는 그리디 알고리즘 문제입니다.
로프를 자를 수 있다는 것이 포인트입니다.
input을 역순으로 정렬합니다.
반복문을 돌면서 index가 증가할 때마다 로프의 개수도 증가합니다.
길이 * 로프의 개수를 계산하면서 max를 구해줍니다.
전체 코드
//2217 로프
import Foundation
let count = Int(readLine()!)!
var ropes: [Int] = []
for _ in 0..<count {
let input = Int(readLine()!)!
ropes.append(input)
}
ropes.sort(by: >)
var result = 0
for i in 0..<count {
result = max(result, ropes[i] * (i+1))
}
print(result)
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형