매일 매일 하루 한 문제씩.
꾸준히 이어가는 코딩테스트 풀이 기록 ✅
오늘의 코딩 도장 문제는 '음양 더하기'.
문제는 굉장히 쉽고. 상단에 써있는 월간 코드 챌린지 시즌2라고 써있던데 그게 뭔지 궁금..?ㅎㅎ.
오늘 두 문제를 모두 푸는데 약 20분이 안걸렸던 것 같은데, 사실 코딩테스트 문제가 이렇게 쉽게 나올리는 없고. 의의를 둘 것은 javascript를 for문을 사용하지 않고 풀었다는 것에..!
문제.
자바 solution
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for (int i = 0; i < absolutes.length; i += 1) {
if (signs[i]) {
answer += absolutes[i];
continue;
}
answer -= absolutes[i];
}
return answer;
}
}
자바스크립트 solution
function solution(absolutes, signs) {
const numbers = absolutes.map((value, index) => {
if (signs[index]) {
return value;
}
return (-1) * value;
});
return numbers.reduce((pre, cur) => pre + cur, 0);
}
자바스크립트 문제를 풀면서 '흠 이게 될까?' 라는 부분이 있었는데 가능한 사항이였고, 다른 사람들이 푼 풀이를 봤을 때도 내가 '과연 이게 되나?' 하는 부분을 활용해서 푼 것들이 있어서 신기했다.
그리고 한편으론 map을 사용하지 않고 reduce만 사용해서 한 줄로 푼 사람들이 있던데,
우선 나는 map, reduce를 모두 사용해서 풀어보고 한번이라도 더 연습하는데 의의를 두는 것으로!!!
오늘 문제는 너무 쉬웠는데, 이따가 저녁에 실제 기업에서 출제한 110분짜리 코딩테스트를 해보려고 한다.
어렵겠지만. 하루하루 계속 이 문제들을 풀어가면서 코딩테스트 때문에 이력서 지원을 포기하는 일은 생기지 않도록! 꾸준히 노력할 것이다.