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

먹보·2022년 12월 27일
0

1. 삼각형의 완성조건 (2)

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

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.

function solution(sides) {
    let case1 = 0;
    let case2 = 0;

    const arr = sides.sort((a,b) => b-a);
  	//주어진 변의 길이 안에 가장 긴 변이 있을 때
    for (let i = 1 ; i <= arr[0] ; i++){
        if(i + arr[1] > arr[0]){case1++}
    }
    // 가장 긴 변을 찾아야 할 때
    for (let j = 1 ; j < arr[0]+arr[1]; j++){
        if (j > arr[0]){case2++}
    }
    return case1+case2
}

🗒️코멘트 : NULL

2. 로그인 성공?

문제 : 머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요.

아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다.
로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다.

function solution(id_pw, db) {
    let answer ='';
    for (let i of db){
        if(id_pw[0] == i[0] && id_pw[1] == i[1]){
            answer = 'login';
            break;
        } else if (id_pw[0] == i[0] && id_pw[1] != i[1]){
            answer = 'wrong pw'
            break;
        } else {
            answer = 'fail'
        }
    }
    return answer 
}

🗒️코멘트 : for문에서 조건이 여러 개 일시 break는 필수!

3. 직사각형 넓이 구하기

문제 : 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.

function solution(dots) {
    const xS =[];
    const yS =[];

    for (let i of dots){
        xS.push(i[0])
        yS.push(i[1])
    }
    const X = xS.sort();
    const Y = yS.sort();

    const xLength = Math.abs(X[3]-X[0])
    const yLength = Math.abs(Y[3]-Y[0])
    
    return xLength * yLength
}

🗒️코멘트 : NULL

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

0개의 댓글