[Programmers] 피자나눠먹기 (1)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Blog:
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
제한사항
1 ≤ n ≤ 100
입출력 예
n result
7 1
1 1
15 3
입출력 예 설명
입출력 예 #1
7명이 최소 한 조각씩 먹기 위해서 최소 1판이 필요합니다.
입출력 예 #2
1명은 최소 한 조각을 먹기 위해 1판이 필요합니다.
입출력 예 #3
15명이 최소 한 조각씩 먹기 위해서 최소 3판이 필요합니다.
프로그래머스 기초 문제들은 간단한 개념들을 하나씩 학습하기에 좋은 것 같다.
아직 level.0에 머무르면서 간단한 문제들을 하나씩 풀고 있는 중이다.
# Solution 1
import math
def solution(n):
answer = math.ceil(n / 7)
return answer
나는 이런식으로 올림을 해줘서 구했다.
처음에 피자가 8조각인 줄 알고 고생을 좀 했다..ㅋㅋ
다른 분들의 코드 중 괜찮은 것을 골라와봤다.
# Solution 2
def solution(n):
return (n - 1) // 7 + 1
이렇게 간단하게 풀이할 수 있는 방법이 있었다.
하지만 보기에 간단해보인다고 생각해내기가 간단하지는 않은 코드..
- 잠깐 // 의 용법을 살펴보자면 이렇다.
- 밑의 코드에서 보이다 싶이 몫을 출력해주는 연산자라고 생각해주면 된다.
- Solution 2에서는 n-1을 해줬는데 그 이유는 7판이라고 해서 2판이 되는 것이 아니라 7판까지 1판이어야 되기 때문이다.
- n // 6 을 해주는 것보다는 (n - 1) // 7 을 하는 것이 훨씬 더 직관적이라는 것을 알 수 있다.
- 여기에 1을 더해주면 된다.
def dashdash(n):
return n // 3
dashdash(1) # 0
dashdash(2) # 0
dashdash(3) # 1
GitHub - Park-Minjoo/CODINGINTERVIEW_PRACTICE: 1 Day 1 Problem since 2022.4.7
1 Day 1 Problem since 2022.4.7. Contribute to Park-Minjoo/CODINGINTERVIEW_PRACTICE development by creating an account on GitHub.
github.com
'Programming > 1 Day 1 Commit' 카테고리의 다른 글
[HackerRank] Mini-Max Sum (Python3) (0) | 2023.01.26 |
---|---|
[LeetCode] Longest Common Prefix (Python3) (0) | 2023.01.25 |
[Programmers] 아이스아메리카노 (python3) (0) | 2023.01.20 |
[HackerRank] Diagonal Difference (Python3) (0) | 2023.01.19 |
[Programmars] 완전탐색: 모의고사(Python3) (0) | 2022.06.15 |