프로그래머스 문제풀기

프로그래머스 - 4탄

Hyeon been 2023. 5. 19. 22:44

한번씩 읽고 가세요.

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90
  • 짝수 홀수 개수

JavaScript

문제 설명

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.


제한사항

  • 1 ≤ num_list의 길이 ≤ 100
  • 0 ≤ num_list의 원소 ≤ 1,000

입출력 예

num_list result

[1, 2, 3, 4, 5] [2, 3]
[1, 3, 5, 7] [0, 4]

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다.

입출력 예 #2

  • [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다.

풀이

function solution(num_list) { var answer = [0,0]; for(i of num_list){ if(i % 2 == 0){ answer[0]+= 1 } else { answer[1] += 1 } } return answer; }

다른 풀이

function solution(num_list) {
    var answer = [0, 0];

    for(let i = 0 ; i < num_list.length; i++){
        if(num_list[i] % 2 == 0) answer[0]++;
        else answer[1]++;
    }

    return answer;
}
  • 배열 두배 만들기

JavaScript

문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 10,000 ≤ numbers의 원소 ≤ 10,000
  • 1 ≤ numbers의 길이 ≤ 1,000

입출력 예

numbers result

[1, 2, 3, 4, 5] [2, 4, 6, 8, 10]
[1, 2, 100, -99, 1, 2, 3] [2, 4, 200, -198, 2, 4, 6]

입출력 예 설명

입출력 예 #1

  • [1, 2, 3, 4, 5]의 각 원소에 두배를 한 배열 [2, 4, 6, 8, 10]을 return합니다.

입출력 예 #2

  • [1, 2, 100, -99, 1, 2, 3]의 각 원소에 두배를 한 배열 [2, 4, 200, -198, 2, 4, 6]을 return합니다.

풀이

function solution(numbers) {

return  numbers.map(v => v*2)

}

다른풀이

function solution(numbers) {
    var answer = [];
    for(var i=0; i<numbers.length;i++){
        answer[i]=numbers[i]*2;
    }

    return answer;
}
  • 문자열 뒤집기

JavaScript

문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000

입출력 예

my_string return

"jaron" "noraj"
"bread" "daerb"

입출력 예 설명

입출력 예 #1

  • my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.

입출력 예 #2

  • my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.

풀이

function solution(my_string) {
    let answer = '';
    answer = my_string.split('');

    return answer.reverse().join('');
}

다른 풀이

function solution(my_string) { return Array.from(my_string).reverse().join(''); }

  • 특정 문자 제거하기

JavaScript

문제 설명

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • letter은 길이가 1인 영문자입니다.
  • my_string과 letter은 알파벳 대소문자로 이루어져 있습니다.
  • 대문자와 소문자를 구분합니다.

입출력 예

my_string letter result

"abcdef" "f" "abcde"
"BCBdbe" "B" "Cdbe"

입출력 예 설명

입출력 예 #1

  • "abcdef" 에서 "f"를 제거한 "abcde"를 return합니다.

입출력 예 #2

  • "BCBdbe" 에서 "B"를 모두 제거한 "Cdbe"를 return합니다.

풀이

function solution(my_string, letter) {
    const answer = my_string.split(letter).join('')
    return answer;
}

다른 풀이

function solution(my_string, letter) { let reg = new RegExp(letter,'g') return my_string.replace(reg,''); }