[프로그래머스] 피자 나눠 먹기(3)

yihyun·2025년 2월 17일

코딩테스트

목록 보기
23/105
post-thumbnail

아래 문제는 반복문, 나머지 연산, 삼항연산자를 사용해서 여러 방법으로 풀이법을 다르게 해보았다!!
시간에는 큰 차이가 없으나 같은 문제를 여러 방향으로 풀어보는 과정은 너무 좋았다!

피자 나눠 먹기(3)

✅ 문제설명

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

✅ 제한사항

2 ≤ slice ≤ 10
1 ≤ n ≤ 100

🔽 소스코드 1

실행 시간 : 0.01ms ~ 0.02ms

for문을 사용 해 피자 조각이 사람 수보다 크거나 같아질 때까지 반복해준다.

class Solution {
	public int solution(int slice, int n) {
        int answer = 0;
        
        for(int i = 1; i <= n; i++) {
    		int piz = slice * i;
    		if(piz >= n) {
    			answer = i;
    			break;

    		}
    	}
        
        return answer;
    }
}

🔽 소스코드 2

실행 시간 : 0.01ms ~ 0.03ms

나머지 연산 % 을 활용해서 나머지가 0이면 그
대로, 나머지가 0이 아닐 경우 + 1을 해준다.
※ int 타입은 가장 가까운 수를 반올림 하기 때문에 해당 방식으로 풀 수 있다.

class Solution {
	public int solution(int slice, int n) {
        if(n%slice == 0) {
        	return n / slice;
        }else {
        	return n / slice + 1;
        }
    }
}

🔽 소스코드 3

실행 시간 : 0.01ms ~ 0.03ms

삼항연산자를 활용해서 코드를 간결하게 작성

class Solution {
    public int solution(int slice, int n) {
        return n % slice > 0 ? n / slice + 1 : n / slice;
    }
}
profile
개발자가 되어보자

0개의 댓글