생각, 고민, 문제해결의 기록

[프로그래머스] Lv.0 피자 나눠 먹기(3) 본문

알고리즘 문제풀이/프로그래머스

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

김예티 2023. 1. 27. 14:27

문제 설명

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


제한사항
  • 2 ≤ slice ≤ 10
  • 1 ≤ n ≤ 100
입출력 예
slice n result
7 10 2
4 12 3

입출력 예 #1

  • 10명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다.

입출력 예 #2

  • 12명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다.

나의 풀이

import Foundation

func solution(_ slice:Int, _ n:Int) -> Int {
    if n % slice == 0 {
        return n / slice
    } else {
        return (n / slice) + 1
    }
}

다른 사람의 풀이

2항 연산에 3항 연산을 묶어서 연산할 수 있다!!!

나도 Double로 변환 후 ceil을 사용하려 했지만 ceil(Double(n / slice)) 이런식으로 사용해서 에러가 났다.
Double로 변환 후 연산하려면 각각의 항을 Double로 변환해주고 연산을 해야한다.