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

최근 글 👑

Lv0 JS 프로그래머스 #23 - 마지막 두 원소, 뒤에서 5등 위로, 문자열 곱하기

2023. 9. 1. 17:37ㆍ프로그래머스 JS 코딩테스트
반응형

70. 마지막 두 원소

 

문제 설명

  • 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.

제한사항

  • 2 ≤ num_list의 길이 ≤ 10 
  • 1 ≤ num_list의 원소 ≤ 9

입출력 예시

  • 마지막 원소인 6이 그전 원소인 1보다 크기 때문에 6 - 1인 5를 추가해 return합니다.
  • 마지막 원소인 5가 그전 원소인 7보다 크지 않기 때문에 5의 두 배인 10을 추가해 return합니다.

풀이

const solution = num_list => {
    const leng = num_list.length - 1;
    if(num_list[leng] > num_list[leng -1]){
        num_list.push(num_list[leng] - num_list[leng - 1]);
    } else {
        num_list.push(num_list[leng] * 2);
    }
    return num_list;
}

// num_list의 길이 -1 인 변수 leng 선언, -1의 이유 : 인덱스는 0부터 세기 때문.
// num_list의 마지막 요소가 그 전 요소보다 크면 num_list의 마지막 요소 - 그 전 요소 추가
// 그렇지 않다면 num_list의 마지막 요소 * 2 추가

 

71. 뒤에서 5등 위로

 

문제 설명 

  • 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

제한사항 

  • 6 ≤ num_list의 길이 ≤ 30 
  • 1 ≤ num_list의 원소 ≤ 100

입출력 예시 

  • [12, 4, 15, 46, 38, 1, 14, 56, 32, 10]를 정렬하면 [1, 4, 10, 12, 14, 15, 32, 38, 46, 56]이 되고, 앞에서 부터 6번째 이후의 수들을 고르면 [15, 32, 38, 46, 56]가 됩니다.

풀이

const solution = num_list => {
    let result = [];
    num_list.sort((a,b)=>a-b);
    for(let i = 5; i < num_list.length; i++){
        result.push(num_list[i]);
    }
    return result;
}

// 배열 result 선언
// sort() 메서드 이용, 오름차순으로 정렬
// 앞의 5개의 요소를 제외한 나머지 요소 result 배열에 추가

 

72. 문자열 곱하기

 

문제 설명 

  • 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항 

  • 1 ≤ my_string의 길이 ≤ 100 
  • my_string은 영소문자로만 이루어져 있습니다. 
  • 1 ≤ k ≤ 100

입출력 예시

  • 예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 "stringstringstring"이므로 이를 return 합니다.
  • 예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 "lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.

풀이

const solution = (my_string, k) => {
    let result = [];
    for(let i = 0; i < k; i++){
        result.push(my_string);
    }
    return result.join("");
}

// 배열 result 선언
// 문자열을 k번 추가
// 배열을 붙여 문자열로 변환

 

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