No. 1546
#include<stdio.h>
int main()
{
int arr[6], i, sum = 0;
for (i = 0; i < 5; i++) {
scanf("%d", &arr[i]);
sum = sum + arr[i] * arr[i];
}
printf("%d\n", sum % 10);
}
코드 설명 : 입력된 각 수의 제곱을 모두 더해야 한다. 따라서 for문을 통해 배열에 5자리 수를 입력받은 후, 변수 sum에 각 배열의 원소의 제곱을 더해주었다. 그리고 sum을 10으로 나눈 나머지 값을 출력해주었다.
No. 2562
#include<stdio.h>
int main()
{
int arr[10], i, max = 0, index;
for (i = 0; i < 9; i++) {
scanf("%d", &arr[i]);
if (max < arr[i]) {
max = arr[i];
index = i;
}
}
printf("%d\n%d\n", max, index+1);
}
코드 설명 : 9개의 수를 for문으로 입력받아주고 max의 초기값을 0으로 설정한 후 max보다 입력받은 배열의 원소가 크면 max에 그 원소값을 넣어주었다. 그리고 그 원소의 인덱스 값을 index 변수에 넣어주었다. 이 과정을 반복하여 최댓값과 그 수의 인덱스를 구하여 마지막에 출력해주었다. 이 때 for문에서 i가 0부터 시작했으므로 인덱스는 +1하여 나타내주었다.
No. 2577
#include<stdio.h>
int main()
{
int cnt[10] = { 0, }, a, b, c, mul, j;
scanf("%d %d %d", &a, &b, &c);
mul = a * b * c;
while (mul != 0) {
cnt[mul % 10]++;
mul = mul / 10;
}
for (j = 0; j < 10; j++) {
printf("%d\n", cnt[j]);
}
}
코드 설명 : 먼저 숫자 3개를 입력 받고 그 수들을 모두 곱한 값을 mul에 저장해주었다. cnt배열에 모든 원소의 초기값을 0으로 지정해주었고 인덱스 mul%10에 1을 추가해주었다. mul%10은 0~9에 해당되고 이 계산을 통해 각 숫자가 몇번 쓰였는지를 알 수 있다. 그리고 mul을 10으로 나눠주었고 이 과정을 mul이 0이 아닐때까지 반복하였다. 마지막에 cnt배열의 원소를 모두 출력하도록 하였다.
'Algorithm > BOJ' 카테고리의 다른 글
[SISS] C 백준 6주차 (2908, 2920, 3052) (0) | 2022.02.01 |
---|---|
[SISS] C 백준 5주차 (2742, 2753, 2884) (0) | 2022.01.30 |
[SISS] C 백준 4주차 (2675, 2739, 2741) (0) | 2022.01.22 |
[SISS] C 백준 2주차 (1546, 2438, 2439) (0) | 2022.01.03 |
[SISS] C 백준 1주차 (1152, 1330, 1157) (0) | 2022.01.01 |