-
[프로그래머스] 기능개발 (Kotlin)카테고리 없음 2021. 6. 30. 17:18
문제 링크
코딩테스트 연습 - 기능개발
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는
programmers.co.kr
내 풀이
class Solution { fun solution(progresses: IntArray, speeds: IntArray): IntArray { val tmp = mutableListOf<Int>() for (i in progresses.indices) { if ((100 - progresses[i]) % speeds[i] != 0) { tmp.add((100 - progresses[i]) / speeds[i] + 1) } else { tmp.add((100 - progresses[i]) / speeds[i]) } } var count = 0 var flag = 0 var answer = mutableListOf<Int>() for (i in tmp) { if (flag == 0) { flag = i count++ } else { if (flag >= i) { count++ } else { flag = i answer.add(count) count = 1 } } } answer.add(count) return answer.toIntArray() } }
처음에는 함수형 프로그래밍으로 짜야지...하고 깝치면서 tmp 리스트 구성할때 map같은거 썼는데,
문제는 맞았는데 수행시간이 너무 길더군요. 22.x[ms]정도...
그래서 그냥 for문으로 다시 쓰니까 7ms정도로 통과했습니다. 역시 함수형 프로그래밍이라고 최선은 아닌듯.