최근 학교 과제 문제와 더딘 진도로 js 공부가 뜸했는데 이 동안 많이 기본 문법에 취약해져 이제서야 알고리즘 문제를 풀기 시작했다.
알고리즘 또한 이전 기본 문법 공부와 같이 기록을 남겨 스스로 돌아볼 수 있도록 해야겠다.
부스트캠프를 지원하였는데 아직 실력이 많이 부족하지만
6월 24일 코딩테스트 전까지 최대한 해봐서 나의 레벨 테스트를 해봐야겠다.

function solution(n, lost, reserve) {
const tmp = new Array(n).fill(1);//전부 1로 채우고
for(let i=0; i<lost.length;i++){//잃어버린 애들은 0으로
tmp[lost[i]-1] = 0;
};
for(let i=0; i<reserve.length;i++){//여분 있는 애들 1 더해주고
tmp[reserve[i]-1]++;
};
for(let i=0; i<tmp.length;i++){//tmp를 돌며
if(tmp[i]==0&&tmp[i-1]>1){//0을 발견하였는데 이전 값이 1보다 크다면(여벌이 있다면)
tmp[i]++;//현재 값을 올리고
tmp[i-1]--;//이전 값을 내린다
}else if(tmp[i]==0&&tmp[i+1]>1){//위와 반대로 뒷 값이 1보다 큰 경우
tmp[i]++;
tmp[i+1]--;
};
};
const answer = tmp.filter(num => num > 0).length;//tmp를 filter 하며 0이 넘어가는 애들(체육복이 있거나 여벌이 있는 애들)만 걸러 그 길이를 담아 반환
return answer;
};
완성을 하여 12case도 통과 하였다.
하지만 아무리봐도 for문을 남용한 것 같아서 지저분해 보이고 쓸데없는 표현들이 들어가있다.
해결한 문제들을 스스로 평가를 내리고 이곳저곳에서 접근 방법이나 코드에 대한 피드백을 받고 프로그래머스에서 타 유저분들의 코드를 보며 기본 객체 사용법이 더 익숙해져야 할 것 같다.