[JavaScript] 프로그래머스 Lv.1 문제 풀이 모음 (5)

송히·2023년 8월 18일
0
post-thumbnail

프로그래머스 Lv.1 정답률 높은 문제 풀이 모음 (5)

: 프로그래머스 코딩테스트 연습 JavaScript Lv1 풀어보기


🔍 월간 코드 챌린지 시즌2 > 음양 더하기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(absolutes, signs) {
    let sign = 0;
    let result = 0;
    absolutes.forEach(ele => {
        if(signs[sign] == false) ele = ele*(-1);
        result += ele;
        sign++;
    })
    
    return result;
}

📢 풀이 설명
absolutes속 숫자와 signs의 부호의 인덱스 번호를 맞춰, signs[idx]이 false이면 -1을 곱한다. 그리고 값을 계속 더해서 최종값을 반환한다.


🔍 연습문제 > 핸드폰 번호 가리기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(phone_number) {
    let lastNum = phone_number.slice(-4);
    return "*".repeat(phone_number.length - 4) + lastNum;
}

📢 풀이 설명
마지막 4자리를 lastNum으로 저장해두고, *을 (전화번호 - 4)만큼 반복한 후 그 뒤에 lastNum을 붙인다.


🔍 월간 코드 챌린지 시즌3 > 없는 숫자 더하기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(numbers) {
    let oneToNine = 45;
    return oneToNine - numbers.reduce((acc, cur) => acc+cur);
}

📢 풀이 설명
0부터 9까지 더한 값은 45이고, 그 중 없는 숫자들끼리 더한 값은 45 - (있는 값 총합)이다. 따라서 두 값을 뺀 것을 반환한다.


🔍 연습문제 > 제일 작은 수 제거하기

클릭해서 문제 전체 보기🔼

📖 풀이 코드

function solution(arr) {
  let minNum = arr[0];
  let minIdx = 0;

  for (i = 1; i < arr.length; i++) {
    if (minNum > arr[i]) {
      minNum = arr[i];
      minIdx = i;
    }
  }
  arr.splice(minIdx, 1);

  if (arr.length == 0) return [-1];
  return arr;
}

📢 풀이 설명
배열을 돌면서 최소값의 idx를 저장하고, 최종적으로 그 idx값을 제거한 배열을 반환한다.

profile
데브코스 프론트엔드 5기

1개의 댓글

comment-user-thumbnail
2023년 8월 18일

즐겁게 읽었습니다. 유용한 정보 감사합니다.

답글 달기

관련 채용 정보