great minds think alike
[C] 프로그래머스 스쿨_5주차 문제 2: 양꼬치 본문
[1] 문제
문제 설명
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < n < 1,000
- n / 10 ≤ k < 1,000
- 서비스로 받은 음료수는 모두 마십니다.
입출력 예
n | k | result |
10 | 3 | 124,400 |
64 | 6 | 768,800 |
입출력 예 설명
입출력 예 #1
- 10인분을 시켜 서비스로 음료수를 하나 받아 총 10 * 12000 + 3 * 2000 - 1 * 2000 = 124,000원입니다.
입출력 예 #2
- 64인분을 시켜 서비스로 음료수를 6개 받아 총 64 * 12000 + 6 * 2000 - 6 * 2000 =768,000원입니다.
[2] 정답
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> #include <stdbool.h> #include <stdlib.h> int solution(int n, int k) { int answer; if (n>=10) { answer = 12000*n + 2000*k - 2000*((int)(n/10)); return answer; } else { answer = 12000*n + 2000*k; return answer; } } | cs |
이 코드는 두 개의 정수형 변수 n과 k를 입력받아서, 주어진 조건에 따라 값을 계산하여 반환하는 함수인 solution을 정의한다.
1. 함수
1 | int solution(int n, int k) | cs |
- int: 함수가 정수형 값을 반환한다는 의미이다
- int n: 함수에 입력으로 사용되는 정수형 변수 n이다.
- int k: 함수에 입력으로 사용되는 정수형 변수 k이다.
2. 함수 내용:
1 2 3 4 5 6 7 8 | int answer; if (n >= 10) { answer = 12000 * n + 2000 * k - 2000 * ((int)(n / 10)); return answer; } else { answer = 12000 * n + 2000 * k; return answer; } | cs |
- int answer: 함수가 반환할 결과값을 저장하는 정수형 변수이다.
- 조건문:
- if (n >= 10): 만약 n이 10 이상일 경우에 해당하는 블록을 실행한다.
- else: n이 10 미만일 경우에 해당하는 블록을 실행한다.
- 값 계산:
- 12000 * n: n에 12000을 곱한 값을 계산한다.
- 2000 * k: k에 2000을 곱한 값을 계산한다.
- 2000 * ((int)(n / 10)): n을 10으로 나눈 몫에 2000을 곱한 값을 계산한다. (int)(n / 10)은 n을 10으로 나눈 몫을 구하는 연산이며, 정수형 결과가 나오도록 캐스팅을 수행다.
- 결과 반환:
- return answer: 계산된 값을 반환한다.
[3] 풀이 및 해석
#.1 첫 번째 풀이 - 오답
'양꼬치 10인분을 먹으면, 음료 1잔이 무료'인 조건을 양꼬치 1인분이 무료인 조건으로 잘못 읽었다.
#.2 두 번째 풀이 - 정답
제대로 바꿔주었다! 정답~~
[4] 추가 학습
✏️ 따로 깊게 공부할 내용은 없는 것 같고, 이 문제의 키워드는 나눗셈 연산자 사용('%'를 써야하는지 '/'를 써야하는지 주의), 형변환... 정도인 것 같다! 그리고 answer을 return해줘야 한다는 것까지!
[5] 느낀 점
문제 조건을 꼼꼼히 잘 읽어서 소요 시간을 줄여보자~~
'SWLUG > 프로그래머스 스쿨 (C)' 카테고리의 다른 글
[C] 프로그래머스 스쿨_6주차 문제 1: 피자 나눠 먹기 (2) (0) | 2023.08.10 |
---|---|
[C] 프로그래머스 스쿨 5주차 문제 3: 피자 나눠 먹기 (1) (0) | 2023.08.04 |
[C] 프로그래머스 스쿨_5주차 문제 1: 편지 (0) | 2023.08.04 |
[C] 프로그래머스 스쿨_4주차 문제 2: 배열 뒤집기 (0) | 2023.07.30 |
[C] 프로그래머스 스쿨_4주차 문제 1: 배열의 평균 (0) | 2023.07.30 |