5575 타임카드
입력이 너무 많았다! 그래서 어쩌지 하다 3*3짜리 배열을 2개 만들어서 하나는 출근을 하나는 퇴근을 다룰까 생각했는데 보니 하는 일이 같아서 반복문으로 한줄한줄씩 처리하기로 했다. #include int main() { int ah, am, as; int bh, bm, bs; int time1, time2; for(int i = 0; i < 3; i++){ scanf("%d %d %d", &ah, &am, &as); scanf("%d %d %d", &bh, &bm, &bs); time1 = ah*3600 + am*60 + as; time2 = bh*3600 + bm*60 + bs; printf("%d %d %d\n", (time2 - time1)/3600, (time2 - time1)%3600/60, ..
더보기
1297 TV크기
문제를 읽고 정리했다. 배운 강정, 이제는 floor 안 쓰고 몫으로 계산하려 하고있다. 그런데 이 문제는 어쩔 수 없이 루트 떄문에 sqrt를 써야한다. #include #include using namespace std; int main() { double a, b, c, result; scanf("%lf %lf %lf", &c, &a, &b); //printf("%lf %lf %lf", c, a, b); result = sqrt(c*c / (a*a + b*b)); //printf("%lf", result); printf("%d %d", a*result/1 , b*result/1); } 계산을 다 double형으로 할거라 바로 double형으로 받았다. 몰랐는데 double형은 %f로 받으면 안 되고..
더보기
10707 수도요금
#include #include using namespace std; int main() { int a, b, c, d, p; scanf("%d %d %d %d %d", &a, &b, &c, &d, &p); int coast_x = p * a; int coast_y = b; if(p > c) coast_y += d * (p - c); printf("%d", min(coast_x, coast_y)); } 입력을 정의했다 어떻게 풀지 적어봤다. 쉬워서 할말이 없다 #include #include using namespace std; int main() { int a, b, c, d, p; scanf("%d %d %d %d %d", &a, &b, &c, &d, &p); int coast_x = p * a; i..
더보기
5532 방학 숙제
먼저 문제 정리부터 했다. 정리하면서 어떻게 풀지 감이왔다. 그래서 바로 식으로 적어버렸다. 그런데 만약 페이지가 딱 떨어지지 않으면 하루를 더해야 하고 나누어 떨어지면 하루를 더하면 안된다. 여기서 조금 애매했다. 그냥 조건문으로 확인하면 쉽지 근데 더 간결하게 짜고 싶어서 고민이었다. #include #include using namespace std; int main() { int l, a, b, c, d; scanf("%d %d %d %d %d", &l, &a, &b, &c, &d); printf("%d", l - max(a/c + max(a%c>0?1:0,0), b/d + max(b%d>0?1:0,0))); return 0; } 결론은 이렇다 조건문으로 구구절절하게 하기 싫어서 삼항연산자로 때려..
더보기