2023.08.14.(월)
#include <stdio.h>
int main() {
long double W=0, R=0;
scanf("%Lf %Lf", &W, &R);
printf("%d", (int) ( W*(1+(R/30)) ) );
return 0;
}
일단 계산을 할 때는 정확하게 계산해야해서 실수형 type의 변수를 선언하여 사용했습니다.
출력할 때는 소숫점을 바리라고 하여 (int)로 casting 후 출력했습니다.
2023.08.15.(화)
#include <stdio.h>
void calculate(int *T, int *M, int c[], int size_c) {
int sum = 0;
for (int i=0; i<size_c; i++) {
sum += c[i];
}
int time = (*T)*60 + (*M);
time += sum;
time %= 1440;
*T = time / 60;
*M = time % 60;
}
int main() {
int N, T, M;
int c[102];
scanf("%d %d %d", &N, &T, &M);
for (int i=0; i<N; i++) {
scanf("%d", &c[i]);
}
calculate(&T,&M,c,N);
printf("%d %d", T, M);
return 0;
}
계산하는 로직이 좀 길어질 것 같아 calculate()라는 별도 함수로 빼서 작성했습니다.
일단 현재 주어진 시간을 분단위로 계산한 다음, 덧셈을 진행했습니다. 그리고 하루가 1440분이니 24시간 단위로 자르기 위해 덧셈 결과에 mod 연산을 적용해줬습니다.
그러면 최종 시간이 분 단위로 계산되므로 60으로 나누기와 나머지 연산을 하여 결과를 구해주면 됩니다.
2023.08.16.(수)
#include <stdio.h>
int main() {
int operand1, operand2;
char operator;
int T;
scanf("%d", &T);
int sum = 0, temp = 0;
for (int i=0; i<T; i++) {
scanf("%d %c %d", &operand1, &operator, &operand2);
switch (operator) {
case '+' : temp = operand1+operand2; break;
case '-' : temp = operand1-operand2; break;
case '*' : temp = operand1*operand2; break;
case '/' : temp = operand1/operand2; break;
}
sum += temp;
}
printf("%d", sum);
return 0;
}
scanf로 피연산자 두개와 연산자를 입력받습니다. 피연산자 종류에 따라 연산을 수행해주고, 그 결과를 sum에 누적합니다.
'알고리즘 > 2023 구름톤 챌린지' 카테고리의 다른 글
구름톤 챌린지 2주차 - 2 (2) | 2023.08.27 |
---|---|
구름톤 챌린지 2주차 - 1 (0) | 2023.08.24 |
구름톤 챌린지 1주차 - 2 (0) | 2023.08.18 |