반응형
입력 & 출력
각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요.
풀이
스택 / 큐를 이용해 푸는 문제인데 다른 방식으로 푼 것 같다.. (언젠가 스택으로 풀겠지)
[93, 30, 55] [1, 30 ,5] => [7, 3, 9] => [2, 1]
[93, 90, 99, 99, 80, 99] [1,1,1,1,1,1] => [7, 10, 1, 1, 20, 1] => [1, 3, 2]
프로세스에 걸리는 날을 구해보자
progressess[i] + n * speed[i] >= 100
n = (100 - progressess[i]) / speeds[i]
위 식에서 나머지가 생길 경우, 작업이 더 필요하니 1을 더해주자
Swift 전체 코드
var result : [Int] = []
var (count, max) = (1, 0)
for i in 0..<progresses.count {
let caculate = (100 - progresses[i]) / speeds[i]
let n = (100 - progresses[i]) % speeds[i] != 0 ? caculate + 1 : caculate
if i == 0 {
max = n
} else {
if max >= n {
count += 1
} else {
max = n
result.append(count)
count = 1
}
}
}
result.append(count)
return result
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 2019 Kakao Winter Internship - 크레인 인형뽑기 게임 (0) | 2021.04.01 |
---|---|
[프로그래머스] 스킬트리 (0) | 2021.04.01 |
[프로그래머스] 멀쩡한 사각형 (0) | 2021.04.01 |
[프로그래머스] DFS / BFS - 네트워크 (0) | 2021.04.01 |
[프로그래머스] DFS / BFS - 타켓 넘버 (0) | 2021.04.01 |