프로그래머스 8주차

이도현·2023년 6월 1일
0

UDR

목록 보기
22/22
function solution(dots) {
    var answer = 0;
    
    if (gradient(dots[0],dots[1]) === gradient(dots[2],dots[3])) {
        answer++;
    } 
    if (gradient(dots[0],dots[2]) === gradient(dots[1],dots[3])) {
        answer++;
    } 
    if (gradient(dots[0],dots[3]) === gradient(dots[1],dots[2])) {
        answer++;
    }    
    
    return answer>0?1:0;
}

function gradient(a,b) {
    return ((a[1]-b[1])/(a[0]-b[0]));
}
function solution(quiz) {
    var answer = [];
    let A = [];
    let length = quiz.length;
    
    for (let i=0;i<length;i++) {
        A.push(quiz[i].split(' '));
    }
  
    for (let i=0;i<length;i++) {
      let Ans = 0;
        if (A[i][1] == "+") {
            Ans = Number(A[i][0]) + Number(A[i][2]);
        } else {
            Ans = Number(A[i][0]) - Number(A[i][2]);
        }
      
      if (Number(A[i][4]) == Ans) {
        answer.push("O");
      } else {
        answer.push("X");
      }
    }

    return answer;
}
function solution(id_pw, db) {
    var answer = '';
    let cnt = 0;
    
    for (let i=0;i<db.length;i++) {
        if (db[i][0] == id_pw[0]) {
            answer = 'wrong pw';
            cnt++;
            if (db[i][1] == id_pw[1]) {
                answer = 'login';
                break;
            }
        } else {
            if (cnt == 0) {
                answer = 'fail';
            }
        }
    }
    
    return answer;
}
function solution(balls, share) {    
    return factorial(balls) / (factorial(balls - share) * factorial(share));
}

function factorial(number) {
    let Factorial = BigInt(1);
    
    for (let i=1;i<=number;i++) {
        Factorial = Factorial * BigInt(i);
    }
    return Factorial
}

원래 코드는

function solution(balls, share) {    
    return factorial(balls) / (factorial(balls - share) * factorial(share));
;
}
function factorial(number) {
    let Factorial = 1;    
    for (let i=1;i<=number;i++) {
        Factorial = Factorial * i;
    }
    return Factorial
}

로 짰었는데 제출 과정에서 계속 실패를 해 찾아보니, 소수점 오류라는 답이 나왔다. 그래서 BigInt로 값을 바꾸니 성공하였다.

profile
안녕하세요

0개의 댓글

관련 채용 정보