221226 프로그래머스 음양 더하기(자바/자바스크립트)

샨티(shanti)·2022년 12월 26일
0

코딩테스트

목록 보기
9/35

매일 매일 하루 한 문제씩.
꾸준히 이어가는 코딩테스트 풀이 기록 ✅

오늘의 코딩 도장 문제는 '음양 더하기'.
문제는 굉장히 쉽고. 상단에 써있는 월간 코드 챌린지 시즌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분짜리 코딩테스트를 해보려고 한다.

어렵겠지만. 하루하루 계속 이 문제들을 풀어가면서 코딩테스트 때문에 이력서 지원을 포기하는 일은 생기지 않도록! 꾸준히 노력할 것이다.

profile
가벼운 사진, 그렇지 못한 글

0개의 댓글