JavaScript - 프로그래머스 레벨 : 0(3) - ORDER BY '정답률'

먹보·2022년 11월 9일
0

1. 배열 원소의 길이

문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성

function solution(strlist) {
    var answer = [];
    for (let el of strlist){
        answer.push(el.length);
    }
    return answer;
}

function solution(strlist) {
    return strlist.map((el) => el.length)
}

🗒️코멘트 : 다양한 반복문을 실행해볼 수 있는 문제!! 역시 쉬운 문제들은 내가 내 코드를 다시 뒤돌아 볼 수 있는 기회를 준다.

2. 배열 두배 만들기

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

function solution(numbers) {
    return numbers.map((el) => el*2)
}

🗒️코멘트 : NULL

3. 최댓값 만들기 (1)

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성

function solution(numbers) {
    numbers.sort((a,b) => b-a);
    let answer = numbers[0]*numbers[1];
    return answer;
}

🗒️코멘트 : 역시 sort는 배열을 정리해주는 것에 있어서 최고!

4. 배열 자르기

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성

function solution(numbers, num1, num2) {
    return numbers.slice(num1,num2+1)
}

🗒️코멘트 : NULL

5. 특정 문자 제거하기

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

///내 풀이법
function solution(my_string, letter) {
    let arr = my_string.split("");
    let new_arr = [];
    for (let el of my_string){
        if (el !== letter){
            new_arr.push(el)
        }
    }
    return new_arr.join("")
}

///찾아본 풀이법
function solution(my_string, letter) {
  return my_string.replaceAll(letter, '');
}

🗒️코멘트 : 음..풀고나서 다른 답변들을 돌아보니 .replaceAll(조건, 대체)가 있다는 걸 알았다. 다음 번에는 사용해보도록 하자.

6. 점의 위치 구하기

수학에서 함수에는 Cartesian Plane (2차원의 좌표평면)이 있는데, 이 때 x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성

function solution(dot) {
  const [x, y] = dot;
  if (y > 0) return x > 0 ? 1 : 2;
  return x < 0 ? 3 : 4;
}

🗒️코멘트 : 예전에는 if문과 else if를 적용해서 3~4개의 문으로 만들었는데 이제는 이것도 거뜬~

7. 옷가게 할인 받기

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성

function solution(price) {
    if (price >= 500000){
        return parseInt(price*0.8)
    } else if (price >= 300000){
        return parseInt(price*0.9)
    } else if (price >= 100000){return parseInt(price*0.95)}
    else {return price}
}

🗒️코멘트 : 뭔가..아쉬운데...

8. 문자 반복 출력하기

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성

function solution(my_string, n) {
    var answer = '';
    let arr = my_string.split("");
    for (let el of my_string){
        answer += el.repeat(n);
    }
    return answer;
}

🗒️코멘트 : NULL

9. 삼각형의 완성조건

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

"가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다."

삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성

function solution(sides) {
    sides.sort((a,b)=>b-a);
    if (sides[1]+sides[2] > sides[0]){
        return 1
    } else {return 2}
    
}

🗒️코멘트 : NULL

10. 문자열안에 문자열

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성

function solution(str1, str2) {
    return str1.includes(str2) ? 1 : 2
}

🗒️코멘트 : 오예~ 삼항 연산자 성공!

📌총평 :

역시 레벨 0을 푸는 것은 나에게 이모저모 도움이 많이 되는 것 같다. 아침에 코딩 공부를 시작할 때 자신감과 활력소를 돋게 해주는 건 물론이고 매번 말하지만 내가 잘 사용하지 않은 Syntax를 사용 할 수 있게끔 하는 여유!!! 수능 공부 시작 전 수학을 잘 못하는 아이들에게 왜 중학교 문제부터 다시 풀게 하는지 잘 알게되는 대목이다.

profile
🍖먹은 만큼 성장하는 개발자👩‍💻

0개의 댓글