반응형
코드를 줄이고 싶어서 많은 시간을 썼지만 줄이지 못했습니다.
요소의 개수가 불분명 하므로 Arraylist를 사용해 각 작업마다 걸리는 기간을 삽입해주었습니다.
기준기간을 지나야만 작업이 완료된 것이므로 올림(ceil)을 해주었고
기준을 정해주어 뒤에 요소들과 비교하면서 배포할때 몇 개의 작업이 배포되는지를 세어주었습니다.
마지막으로 Arraylist를 int배열로 바꿔주는 작업을 하였습니다.
다른분들이 올린 더 짧은 풀이를 보았는데 저랑 푸는 방식이 달랐습니다.
작업진도(<100)와 작업속도(<=100)제한이 있으므로 아무리 배포가 늦어져도 99일 이내에는 개발이 되기 때문에
int []dayOfend 로 끝나는 날을 변수로 만들어서 ( int는 default값이 0입니다.)
각각의 작업에 대해 날짜(day)를 하루하루 더해줘서 작업기간에 해당하는 값을 dayOfend의 인덱스로 사용해서 값을 올려주었습니다.
그리고 마지막 변환과정도 stream으로
Arrays.stream(dayOfend).filter(i -> i!=0).toArray() 한 줄로 변환 할 수 있었습니다.
반응형
'Algorithm' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 Level2 - 다리를 지나는 트럭 [ Java ] (0) | 2020.01.18 |
---|---|
프로그래머스 코딩테스트 연습 Level2 - 멀쩡한 사각형 [ Java ] (0) | 2020.01.17 |
백준 1541번 잃어버린 괄호 [ Java ] (0) | 2020.01.13 |
백준 11399번 ATM [ Java ] (0) | 2020.01.13 |
백준 1931번 회의실배정 [ Java ] (0) | 2020.01.12 |