문제 설명
파파 파스타 가게는 점심 추천 파스타와 생과일 주스 세트 메뉴가 인기가 좋다.
이 세트 메뉴를 주문하면 그 날의 3 종류의 파스타와 2 종류의 생과일 주스에서 하나씩 선택한다.
파스타와 생과일 쥬스의 가격 합계에서 10%를 더한 금액이 대금 된다.
어느 날의 파스타와 생과일 주스의 가격이 주어 졌을 때, 그 날 세트 메뉴의 대금의 최소값을 구하는 프로그램을 작성하라.
입력
입력은 5 행으로 이루어지며, 한 줄에 하나씩 양의 정수가 적혀있다.
1행의 정수는 첫 번째 파스타 가격이다.
2행의 정수는 두 번째 파스타 가격이다.
3행의 정수는 세 번째 파스타 가격이다.
4행의 정수는 첫 번째 생과일 쥬스의 가격이다.
5행의 정수는 두 번째 생과일 쥬스의 가격이다.
(모든 파스타와 생과일 쥬스의 가격은 100원 이상 2000원 이하이다.)
출력
그날 세트 메뉴의 최소 대금을 소수 첫째 자리까지 출력하시오.
입력 예시
800
700
900
198
330
출력 예시
987.8
문제 푼 방법
간단하게 조건문으로 최솟값 최소값 구해서 더해준 거에서 10으로 나누고 더해줄 생각 했음
#include <stdio.h>
#include<unistd.h>
int select(int a, int b, int c)
{
if (a < b && a < c)
return(a);
if (b < a && b < c)
return(b);
if (c < a && c < b)
return(c);
else
{
if (a == b)
return(a);
if (a == c)
return(a);
if (b == c)
return(c);
}
}
int main(void)
{
int p1, p2, p3, j1, j2, p, j;
char x,y;
float z;
char str[2014];
scanf("%d\n%d\n%d\n%d\n%d", &p1, &p2, &p3, &j1, &j2);
p = select(p1, p2, p3);
if (j1 >= j2)
j = j2;
else
j = j1;
z = (p + j) / 10.0f; // 이 부분은 아예 몰랐던 것
z = z + p + j;
printf("%0.1f", z);
}
배운 점 느낀 점
실수 단위까지 나누기하려면
10.0f 이런 식으로 사용해야 한다는 것을 배움
또 이 글 쓰기 전에 보니까
저거를 int배열에 넣고 for문 돌려서 비교하는 방식으로 푸는 사람들도 있었음
나는 for문을 쓸 수 없는 환경에서 배웠었어서 그런 사고가 안 닿았던 것 같음
저 방식으로도 한 번 다시 풀어봐야겠음.
그리고 아주 사소한 실수인 비교 연산자 ==를 =로 쓰는 걸로 틀렸었는데
진짜 좀 만 소흘히하고 사회화하면 바로 까먹는구나 싶었음
문제 푸는 거 재밌긴 하니까 앞으로도 꾸준히 풀면 좋을듯함
'세상을 바꿀 소프트웨어 공부' 카테고리의 다른 글
[네이버 ai NOW] 하이퍼 클로바 (0) | 2021.05.25 |
---|---|
혁신 교육기관 이노베이션 아카데미 42서울 3기 합격자 후기! (2) | 2020.12.26 |
기업 분석 앱 개발 구상안 (0) | 2020.12.07 |
강의안 - 누가 하품 소리를 내었는가 [머신 러닝] (0) | 2020.11.20 |