-
[programmers/Swift] 기능 개발Archive/Questions 2022. 5. 9. 18:57728x90
programmers.co.kr - 코딩테스트연습 - Lv.2 - 스택/큐 - 기능개발
Constraints :
- 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다.
- 작업 진도는 100 미만의 자연수입니다.
- 작업 속도는 100 이하의 자연수입니다.
- 배포는 하루에 한 번만 할 수 있으며, 하루의 끝에 이루어진다고 가정합니다. 예를 들어 진도율이 95%인 작업의 개발 속도가 하루에 4%라면 배포는 2일 뒤에 이루어집니다.
// // Created by Yongwoo Marco on 2022/05/09. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] { var p = progresses, s = speeds var result = [Int]() while !p.isEmpty { p.enumerated().forEach { index, _ in p[index] += speeds[index] } var count = 0 for value in p { if value >= 100 { count += 1 p.remove(at: 0) s.remove(at: 0) } else { break } } if count > 0 { result.append(count) } } return result } print(solution([93, 30, 55], [1, 30, 5])) // [2, 1] print(solution([95, 90, 99, 99, 80, 99], [1, 1, 1, 1, 1, 1])) // [1, 3, 2]
How I tried this :
progresses와 speeds 배열을 큐처럼 제거하는 형태로 구현함몇일이 지났는지는 결과에 반영할 필요가 없어서 while loop를 사용함
2중 반복이 좀 아쉽긴 하지만 생각보다 시간초과나 긴시간이 걸리지 않아서.. 만족했다..
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] 나머지가 1이 되는 수 찾기 (0) 2022.05.09 [programmers/Swift] 키패드 누르기 (2020 Kakao 인턴쉽) (0) 2022.05.09 [programmers/Swift] 없는 숫자 더하기 (0) 2022.05.08 [programmers/Swift] 약수의 개수와 덧셈 (0) 2022.05.08 [programmers/Swift] 숫자 문자열과 영단어 (2020 카카오 채용 연계형 인턴쉽) (0) 2022.05.08