2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

Lv0 JS 프로그래머스 #13 - 첫 번째로 나오는 음수, 조건에 맞게 수열 변환하기 3, 공배수

2023. 8. 18. 14:47ㆍ프로그래머스 JS 코딩테스트
반응형

40. 첫 번째로 나오는 음수

 

문제 설명

  • 정수 리스트 num_list가 주어질 때, 첫 번째로 나오는 음수의 인덱스를 return하도록 solution 함수를 완성해주세요. 음수가 없다면 -1을 return합니다.

제한사항

  • 5 ≤ num_list의 길이 ≤ 100 
  • -10 ≤ num_list의 원소 ≤ 100

입출력 예시

  • 5번 인덱스에서 음수가 처음 등장하므로 5를 return합니다.
  • 음수가 없으므로 -1을 return합니다.

풀이

const solution = num_list => {
    let index = -1;
    for(let i = 0; i < num_list.length; i++){
        if(num_list[i] < 0){
            index = i;
            break;
        }
    }
    return index;
}

// index는 num_list의 인덱스를 나타낼 변수
// num_list[i]의 값이 음수이면 해당 인덱스를 index변수에 할당 후 break

 

41. 조건에 맞게 수열 변환하기

 

문제 설명 

  • 정수 배열 arr와 자연수 k가 주어집니다. 만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다. 이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요.

제한사항

  • 1 ≤ arr의 길이 ≤ 1,000,000 
  • 1 ≤ arr의 원소의 값 ≤ 100 
  • 1 ≤ k ≤ 100 

입출력 예시 

  • 주어진 k인 3은 홀수이므로, 전체 배열에 3을 곱합니다. 따라서 [3, 6, 9, 300, 297, 294]을 return 합니다.
  • 주어진 k인 2는 짝수이므로, 전체 배열에 2를 더합니다. 따라서 [3, 4, 5, 102, 101, 100]을 return 합니다.

풀이

const solution = (arr, k) => {
    if(k % 2 === 1){
      return arr.map(x => x * k);  
    } else return arr.map(x => x + k);
}

// k의 홀수 짝수 여부에 따라 조건에 맞는 새로운 배열을 생성

 

42. 공배수

 

문제 설명 

  • 정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.

제한사항 

  • 10 ≤ number ≤ 100 2 ≤ n, m < 10

입출력 예시 

  • 60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다.
  • 55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다.

풀이

const solution = (number, n, m) => {
    if(number % n === 0 && number % m === 0) return 1;
    else return 0;
}

// number는 각각 나누었을 때 나머지가 존재하지 않으면 공배수이다.

 

 

  • 정답률 높은 순부터 풀이
  • 매일 3 문항 풀이
반응형