안경잡이 구루루

백준 5543 ( 상근날드 ) [ C programming ] 본문

C언어(C programming)/문제풀이(백준,BaekJoon)

백준 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를 대입한다.

https://m.blog.naver.com/PostView.nhn?blogId=jhnyang&logNo=221526593801&proxyReferer=https:%2F%2Fwww.google.com%2F&view=img_2

 

먼저 햄버거의 경우 받은 입력값들을 순서대로 크기를 비교해 min_h에 햄버거의 최소값을 저장한다.

그리고 음류수의 경우도 입력값들의 크리를 비교해 min_d에 음류수의 최소값을 저장한다.

마지막으로 printf로 가장 싼 세트메뉴 값을 출력한다.

반응형