C#/프로그래머스 코딩 문제 풀이

[프로그래머스 C#] Lv.0 피자 나눠먹기 (1),(2),(3)

ForMan_ 2024. 1. 5. 16:27

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

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

2. 제한사항

● 1 ≤ n ≤ 100

3. 입출력 예시

n result
7 1
1 1
15 3

4. 나의 풀이

public int solution(int n)
    {
        int answer = 0;

        //7조각의 피자를 n명이 나눠먹기 위해 필요한 피자 판의 수를 구하는 if조건문.
        if (n % 7 != 0) answer = n / 7 + 1;
        else answer = n / 7;

        //n을 7로 나눴을 때 나머지가 0이 아니고 다른 수가 나오면 1판 추가.
        //n을 7로 나눴을 때 몫이 딱 떨어진다면(나머지가0) 그 몫이 필요한 피자 판의 수.

        return answer;
    }

 


1. 문제: 피자 나눠먹기(2)

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

2. 제한사항

● 1 ≤ n ≤ 100

3. 입출력 예시

n result
6 1
10 5
4 2

4. 나의 풀이

public int solution(int n)
    {
        int answer = 0;
        int max = 0; //최대공약수.
        int min = 0; //최소공배수.

        for (int i = 1; i <= n; i++)
        {
            if (6 % i == 0 && n % i == 0)
            {
                max = i;
            }
        }

        min = 6 * n / max; //min은 n명이 균등하게 먹을 수 있는 피자조각의 수.

        return answer = min / 6;
    }

 


1. 문제: 피자 나눠먹기(3)

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

2. 제한사항

● 2 ≤ slice ≤ 10
● 1 ≤ n ≤ 100

3. 입출력 예시

slice n result
7 10 2
4 12 3

4. 나의 풀이

public int solution(int slice, int n)
    {
        int answer = 0;

        //slice에 따라 n명이 1조각 이상씩 먹을 수 있는 피자 판 수.
        if (slice % n == 0) answer = n / slice;
        else answer = n / slice + 1;

        return answer;
    }