Bomb Kirby Running

코딩 테스트 챌린지

코딩테스트 4

^. ̫ .^ 2023. 5. 22. 00:13

728x90

코딩테스트 입문 0단계

문제1 피자 나눠먹기(1)

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

 

제한사항

  • 1 ≤ n ≤ 100

입출력 예

n result
7 1
1 1
15 3
function solution(n) {
    var answer = Math.ceil(n / 7);
    return answer;
}

n을 7로 나눈 다음 Math.ceil을 이용하여 올림해 구해줍니다.

 

문제2 피자 나눠먹기(2)

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

제한사항

  • 1 ≤ n ≤ 100

입출력 예

n result
6 1
10 5
4 2

 

function solution(n) {
    var answer = 0;
    let pizzaCount = 1;
    while(true) {
        if(pizzaCount * 6 % n === 0) {
            answer = pizzaCount;
            break;
        }
        pizzaCount = pizzaCount + 1;
    }
    return answer;
}

변수 설정하고 pizzaCount의 초기값을 1로 설정합니다.

while(true)로 조건이 항상 참으로 지정합니다.

피자 조각 수 pizzaCount를 6으로 곱한 값이 n으로 나누어 떨어지는지 확인합니다

만약 나누어 떨어진다면, pizzaCountanswer에 할당하고 루프를 종료합니다

그렇지 않다면, pizzaCount를 1 증가시킵니다

반복문을 계속 진행하고 최종적으로 구한 최소 피자 개수인 answer를 반환합니다

 

 

문제3 피자 나눠먹기(3)

머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

제한사항

  • 2 ≤ slice ≤ 10
  • 1 ≤ n ≤ 100

입출력 예

slice n result
7 10 2
4 12 3

 

function solution(slice, n) {
    var answer = Math.ceil(n / slice);
    return answer;
}

사람 수 n을 조각 수 slice로 나눈 뒤 Math.ceil로 반올림하여 구해줍니다.

 

문제4 배열의 평균값

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

 

제한사항

  • 0 ≤ numbers의 원소 ≤ 1,000
  • 1 ≤ numbers의 길이 ≤ 100
  • 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

입출력 예

numbers result
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0
function solution(numbers) {
    let sum = 0;
    let cnt = 0;
    while(cnt < numbers.length) {
        sum = sum + numbers[cnt];
        cnt = cnt + 1;
    }
    return sum / numbers.length;
}

변수 설정을하고 cntnumbers 배열의 길이보다 작은 동안 반복합니다

배열의 각 숫자를 sum에 더합니다

cnt 값을 1 증가시킵니다

최종적으로 sumnumbers 배열의 길이로 나눈 평균을 반환합니다