https://school.programmers.co.kr/learn/courses/30/lessons/120816
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 :
1
2
|
def solution(slice, n):
return (n - 1) // slice + 1
|
cs |
피자 나눠먹기(1)과 굉장히 유사하고 조각 수가 정해져있지 않고 매개변수로 주어진다는 점만 다르기 때문에 쉽게 풀었다.
인원 수에서 1명을 뺀 값을 조각 수로 나누고, 앞에서 뺀 한명이 한조각을 보장받으려면 한 판이 더 필요하므로 마지막에 1을 더해준다.
이게 이 문제를 푸는 데에 가장 간단한 코드인 것 같다.
개선안 :
1
2
3
4
5
6
7
|
def solution(slice, n):
# n(인원 수)를 slice(조각 수)로 나눈 몫, 나머지를 d,m에 넣기
d, m = divmod(n, slice)
# 필요한 피자 판 수(d)를 반환하는데,
# 나머지가 0이 아닐 경우 한 판이 더 필요하므로 1 더하기
return d + int(m != 0)
|
cs |
내 답안만큼 짧고 간단한 코드는 아니지만 더 직관적인 코드인 것 같아 정리해둔다.
'프로그래밍 > Python' 카테고리의 다른 글
프로그래머스_python lv0. 옷가게 할인받기 (0) | 2023.01.14 |
---|---|
프로그래머스_python lv0. 배열의 평균값 (0) | 2023.01.13 |
프로그래머스_python lv0. 피자 나눠 먹기(2) (0) | 2023.01.11 |
프로그래머스_python lv0. 피자 나눠 먹기(1) (0) | 2023.01.09 |
프로그래머스_python lv0. 짝수는 싫어요 (1) | 2023.01.08 |