great minds think alike
[C] 프로그래머스 스쿨_6주차 문제 1: 피자 나눠 먹기 (2) 본문
[1] 문제
문제 설명
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ n ≤ 100
입출력 예
n | result |
6 | 1 |
10 | 5 |
4 | 2 |
입출력 예 설명
입출력 예 #1
- 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6조각으로 모두 한 조각씩 먹을 수 있습니다.
입출력 예 #2
- 10명이 모두 같은 양을 먹기 위해 최소 5판을 시켜야 피자가 30조각으로 모두 세 조각씩 먹을 수 있습니다.
입출력 예 #3
- 4명이 모두 같은 양을 먹기 위해 최소 2판을 시키면 피자가 12조각으로 모두 세 조각씩 먹을 수 있습니다.
[2] 정답 및 해석
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int solution(int n) { int answer = 0; if (n <= 3) { answer = 1; } else if (n % 6 == 0) { answer = n / 6; } else if (n % 3 == 0) { answer = n / 3; } else if (n % 2 == 0) { answer = n / 2; } else { answer = n; } return answer; } | cs |
1. solution 함수 정의:
함수 solution은 정수 n을 입력으로 받고, 정수를 반환한다.
answer라는 이름의 정수 변수를 선언하고 0으로 초기화한다. 이 변수는 함수 내에서 결과 값을 저장하는 데 사용된다.
2. 조건 및 계산:
- if (n <= 3): n이 3 이하인 경우, answer를 1로 설정한다.
- else if (n % 6 == 0): n이 6의 배수인 경우, answer를 n / 6의 값으로 설정한다.
- else if (n % 3 == 0): n이 3의 배수이면서 6의 배수가 아닌 경우, answer를 n / 3의 값으로 설정한다.
- else if (n % 2 == 0): n이 2의 배수이면서 6의 배수나 3의 배수가 아닌 경우, answer를 n / 2의 값으로 설정한다.
- else: 위의 모든 조건을 만족하지 않는 경우, 즉 n이 위의 어떤 조건에도 해당하지 않는 경우, answer를 n으로 설정한다.
- return answer;: 함수는 계산된 answer 값을 반환한다.
[3] 오답 풀이
이 문제는 최소공배수를 구하는 문제다. 그런데 피자 한 판에 6조각이 들어있다는 조건이 설정되었다.
#.1 첫 번째 풀이 - 오답
✔️ if (n = 1) 은 틀린 표현 --> if (n == 1) 이 맞는 표현이다.
이후에 if (n <= 3) 을 사용했다.
✔️ n이 2, 3, 6 으로 나눠지는 경우만 있는 게 아니다! 그 부분을 놓쳤다.
#.2 두 번째 시도 - 오답
✔️ if (n = 1) 은 틀린 표현 --> if (n == 1) 이 맞는 표현이다. 대신에 if (n <= 3) 을 사용했다.
✔️ n이 2, 3, 6 으로 나눠지는 경우만 있는 게 아니다. 여전히 그 부분을 놓쳤다.
#.3 세 번째 시도 - 정답
✔️ n이 2, 3, 6 으로 나눠지지 않는 경우를 else 조건문을 추가해서 수정해주었다. 정답~
[4] 느낀 점
n의 배수인지 확인하는 조건문으로 if (n % 정수) {} 가 많이 사용되는 것 같다.
'SWLUG > 프로그래머스 스쿨 (C)' 카테고리의 다른 글
[C] 프로그래머스 스쿨_6주차 문제 3: 중앙값 구하기 (0) | 2023.08.11 |
---|---|
[C] 프로그래머스 스쿨_6주차 문제 2: 중복된 숫자 개수 (0) | 2023.08.11 |
[C] 프로그래머스 스쿨 5주차 문제 3: 피자 나눠 먹기 (1) (0) | 2023.08.04 |
[C] 프로그래머스 스쿨_5주차 문제 2: 양꼬치 (0) | 2023.08.04 |
[C] 프로그래머스 스쿨_5주차 문제 1: 편지 (0) | 2023.08.04 |