프로그래머스 코딩테스트


문제 1 - 나이 출력


머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.

function solution(age) {
    var answer = 0;
    return answer;
}
// 풀이
function solution(age) {
    return new Date().getFullYear() - (age + 1);
}

설명: .getFullYear() 는 현재 주어진 날짜 정보를 해당 년도로 바꿔주는 메서드입니다. 더불어 대한민국에서는 만 나이가 아닌 세는 나이를 사용하기 때문에 주어진 나이에서 +1을 해줘야 한다.


문제 2 - 숫자 비교하기


정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.

function solution(num1, num2) {
    var answer = 0;
    return answer;
}
// 풀이
function solution(num1, num2) {
    var answer = 0;

    if(num1 == num2){
        answer = 1;
    } else {
        answer =-1;
    }
    
    return answer;
}

설명: if문을 사용하여 num1과 num2의 숫자를 비교한 뒤 각각 return할 값을 넣는 기본적인코드이다.


문제 3 - 각도기


각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.

function solution(angle) {
    var answer = 0;
    return answer;
}
// 풀이
function solution(angle) {
    var answer = 0;
    if(angle <90){
        answer = 1;
    } else if(angle == 90){
        answer = 2;        
    } else if(angle<180 && angle >90){
        answer =3;  
    } else if(angle == 180)
        answer =4;
    return answer;
}

설명: if문과 else if문을 써서 각각의 조건에 맞는 값을 answer에 넣어준다.


문제 4 - 짝수의 합 구하기


정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.

function solution(n) {
    var answer = 0;
    return answer;
}
// 풀이
function solution(n) {
    var sum=0;
    var answer = 0;
    
    if(n%2==0){
        for(let i=n; i>0; i-=2){
            sum += i;
        } 
    } else {
        for(let i=n-1; i>0; i-=2){
            sum += i;
        } 
    }
    answer = sum;
    
    return answer;
}
// 풀이
function solution(num1, num2) {
    var answer = parseInt(num1 / num2);
    return answer;
}

설명: 값을 더 할 함수 sum을 우선적으로 만들어주었다. 이후 n이 짝수이면 i가 n부터 시작할 수 있도록 하고, 홀수일 경우 n-1을 해서 반복문을 실행했다.


문제 5 -배열의 평균값


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

function solution(numbers) {
    var answer = 0;
    return answer;
}
// 풀이
function solution(numbers) {
    var answer = 0;
    let sum = 0;
    
    for(let i=0; i < numbers.length; i++){
        sum += numbers[i];
    }
    answer = sum/numbers.length;
    
    return answer;
}

설명: 우리는 평균을 구할 때 산수로 값을 다 구하고 그 갯수만큼 나눈다. 마찬가지로 for문을 사용해 내용의 값을 전부 더한 뒤, 그 길이만큼 나누어 정답을 구했다.


Jeong

예술, 코딩, 그리고 삶