일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 그리디
- 문제풀이
- 구현
- 파이썬
- 정리
- 백준
- C
- 친절한 설명
- Beakjoon
- 10807
- VS
- C 언어
- c언어
- HTML
- Baekjoon
- 문자열
- 심화1
- 10926
- 설명
- implement
- 입문
- C Programming
- greedy
- Implemention
- Python
- 코드엔진
- 초보
- 꾸준히
- 알고리즘
- CSS
- Today
- Total
안경잡이 구루루
백준 5543 ( 상근날드 ) [ C programming ] 본문
백준 5543 ( 상근날드 ) [ C programming ]
구루루(gururu) 2020. 5. 28. 17:13
나:
#include <stdio.h>
int main() {
int b, d;
int L = 0, l = 0;
for (int i = 0; i < 3; i++) {
scanf("%d", &b);
if (L == 0 ) L = b;
if (L > b) L = b;
}
for (int i = 0; i < 2; i++) {
scanf("%d", &d);
if (l == 0) l = d;
if (l > d) l = d;
}
printf("%d", L + l - 50);
return 0;
}
완성된 코드는 위와 같다.
#include <stdio.h>
int main() {
int b, d;
int L = 0, l = 0;
b(buger)와 d(drink)로 버거와 음류수의 자료형을 선언한다.
L은 b의 가장 최솟값, l (소문자)은 d의 가장 최솟값으로 이들의 자료형을 선언한다.
for (int i = 0; i < 3; i++) {
scanf("%d", &b);
if (L == 0 ) L = b;
if (L > b) L = b;
}
입력값들을 비교해서 가장 최솟값을 구하는 방식을 사용하기 위해 for 반복문을 사용했다.
먼저 buger는 총 3개를 입력받기 때문에 3번 반복하도록 i를 설정했다.
반복할때 마다 b 입력값을 받고 그 입력값이 이전의 입력값 보다 작은지 큰지 판단해서 L에 넣었다.
for (int i = 0; i < 2; i++) {
scanf("%d", &d);
if (l == 0) l = d;
if (l > d) l = d;
}
printf("%d", L + l - 50);
return 0;
}
위와 마찬가지로 for 반복문을 사용해 입력값중 가장 최솟값을 구하기로 했다.
drink는 총 2개의 입력값을 받기 때문에 2번 반복하도록 i를 설정했다.
반복할때 마다 d 의 입력값을 받고 그 입력값이 이전의 입력값 보다 작은지 큰지 판단해서 l 에 넣었다.
결국 b, d의 가장 최소값은 L, l 에 들어가게 되었고 이것들의 세트값을 printf로 출력한다.
다른사람:
https://modernalchemist.tistory.com/m/7?category=892420
#include<stdio.h>
int main(void)
{
int a, b, c, d, e;
int min_h, min_d;
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
min_h = (a < b) ? a : b;
min_h = (min_h < c) ? min_h : c;
min_d = (d < e) ? d : e;
printf("%d", (min_h + min_d) - 50);
return 0;
완성된 코드는 위와 같다.
if, for 반복문의 사용없이 조건연산자를 이용해 햄버거와 음류수의 최솟값을 구했다.
#include<stdio.h>
int main(void)
{
int a, b, c, d, e;
int min_h, min_d;
scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);
조건 연산자를 사용하기 위해 모든 입력값을 변수로 처리했다.
min_h = (a < b) ? a : b;
min_h = (min_h < c) ? min_h : c;
min_d = (d < e) ? d : e;
printf("%d", (min_h + min_d) - 50);
return 0;
위의 조건 연산자 구조는 다음과 같다. 변수 = (조건식) ? 수식1 : 수식2
즉 조건이 참일 경우 수식1을 변수에 대입하고 거짓일 경우 수식2를 대입한다.
먼저 햄버거의 경우 받은 입력값들을 순서대로 크기를 비교해 min_h에 햄버거의 최소값을 저장한다.
그리고 음류수의 경우도 입력값들의 크리를 비교해 min_d에 음류수의 최소값을 저장한다.
마지막으로 printf로 가장 싼 세트메뉴 값을 출력한다.
'C언어(C programming) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 10817 ( 세 수 ) [ C programming ] (0) | 2020.05.30 |
---|---|
백준 2523 ( 별 찍기 -13 ) [ C programming ] (0) | 2020.05.30 |
백준 10039( 평균 구하기 ) [ C programming ] (0) | 2020.05.28 |
백준 2439 ( 별 찍기- 2 ) [ C programming ] (0) | 2020.05.26 |
백준 10871 ( X 보다 작은 수) [ C programming ] (0) | 2020.05.26 |