level2 _ 기능개발

LOOPY·2022년 4월 30일
0

Programmers(연습문제)

목록 보기
48/63

나의 답안


1. 개발해야 할 첫 기능의 진도가 100이 될 때 까지 개발 진행
2. 연속되는 100의 마지막 인덱스의 다음 인덱스를 todo에 저장
3. todo에서 이미 배포된 기능의 수를 빼 answer 배열에 넣어주고
4. 다음 개발할 기능의 인덱스(todo)를 배포 완료된 기능의 갯수(complete)로 저장
while-while-for 중첩문이 3번이나 되는 것이 마음에 걸린다..😭 예전 프로그래밍 강의에서 3번 이상의 반복문 중첩은 피하는 것이 좋다고 들었던 기억이 어렴풋이 떠올랐다.

다른 답안

완전히 다른 접근법이다.
1. progresses 배열의 각 값에 대해 100에서 진도를 뺀 후 speed로 나누어 days라는 배열에 저장 -> 개발해야 할 기간을 의미
2. maxDay라는 변수에 (미완료된)첫 기능의 개발 완료일을 저장하고, 해당 일을 기준으로 완료된 기능의 수를 answer에 담기
2-1. 완료되지 않은 기능에 다다르면, maxDay를 변경하고 answer의 다음 값으로 1을 저장해둔 후 다시 반복
이렇게 for-if 간단한 구조로 가독성 높은 코드를 구현할 수 있었다ㅠㅠ

다음엔 단순히 코드를 고칠 생각 말고 접근법을 바꿔보는 방향도 꼭 고려할 수 있도록 해야겠다!

profile
1.5년차 프론트엔드 개발자의 소소한 기록을 담습니다 :-)

0개의 댓글