본문 바로가기

전체 글

(184)
[lv1] 덧칠하기 문제 내 정답 코드import Foundationfunc solution(_ n:Int, _ m:Int, _ section:[Int]) -> Int { // n 은 벽에 길이 // m 은 한 번에 칠할 수 있는 길이 // section 은 칠해야 하는 구역 // 가장 먼저 있는 빈 구역 m만큼 칠하고 section에서 삭제 var section = section var result = 0 // sction의 처음으로 와서 m만큼 숫자를 모두 삭제 // 다시 section 맨 앞으로 돌아와 반복 while(!section.isEmpty) { let first = section.first! let last = fi..
[lv1] 과일 장수 문제 내 정답 코드import Foundationfunc solution(_ k:Int, _ m:Int, _ score:[Int]) -> Int { var score = score var box: [[Int]] = [] var result = 0 score = score.sorted().reversed() for i in stride(from: 0, to: score.count, by: m) { var group: [Int] = [] for j in i.. #1. 한 박스의 과일들 중 낮은 점수로 계산하기 때문에, 같은 점수의 과일들이 있으면 최대한 모아야 한다.2. 과일을 내림 차순으로 정렬하고 m개 만큼 포장해간다. (stride를 사용하여 ..
[lv1] 콜라 문제 문제 내 정답 코드import Foundationfunc solution(_ a:Int, _ b:Int, _ n:Int) -> Int { var result = 0 var n = n while(n >= a) { result += ((n / a) * b) let temp = n % a n = ((n / a) * b) + temp } return result} #1. result는 얻은 콜라의 개수이다.2. 남은 빈 병으로 콜라를 1개도 못 얻을 때 까지  반복하여 수행한다. while(n >= a)3. 빈병으로부터 얻을 수 있는 콜라를 result에 더하고4. a로 나눴을 때 나머지 값을 temp에 저장해놓는다. (빈 병)5. 얻은..