본문 바로가기
코딩테스트

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

by liz_devel 2025. 12. 19.

🗒 문제


📝 나의 문제풀이

class Solution {
    fun solution(slice: Int, n: Int): Int {
        var answer: Int = 0
        if(n % slice == 0){
            answer = n / slice
        }else {
            answer = n / slice + 1
        }
        return answer
    }
}

 


📝 다른 사람의 문제 풀이

다른 사람의 문제 풀이는 좋아요 수가 높거나 많은 사람들이 푼 방법 기준으로 첨부하였습니다.

class Solution {
    fun solution(slice: Int, n: Int) = n / slice + if (n % slice > 0) 1 else 0
}

🖊 문제 풀이 시 알면 좋을 것

나머지 연산자 %

✔ 개념

  • 나누고 남은 값
10 % 3   // 1
14 % 7   // 0

✔ 왜 쓰냐?

  • 딱 나눠 떨어지는지 확인하려고
if (n % slice == 0) {
    // 정확히 나눠짐
} else {
    // 남음 → 하나 더 필요
}

 

“남으면 +1” 패턴 (중요 ⭐)

✔ 이 문제의 본질

나눴을 때 남으면 하나 더 필요하다

 
n / slice + 1   // ❌ 항상 +1 하면 안 됨

👉 그래서 조건이 필요

if (n % slice > 0) 1 else 0
반응형