ํฐ์คํ ๋ฆฌ ๋ทฐ
[์๊ณ ๋ฆฌ์ฆ ๋ถ์] ์ค์ต๋ฌธ์ (๋๋จธ์ง ์ฐ์ฐ, ๋นํธ ํ๋ ฌ, ๋์ ํ๊ท )
ํด๋์๊ทธ 2021. 4. 5. 17:00๋๋จธ์ง์ฐ์ฐ ๋ฌธ์ :
์ฝ๋:
#include<stdio.h>
int modulo(int a, int b) {
int t;
t = a % b;
return t;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", modulo(a, b));
}
๋นํธํ๋ ฌ ๋ฌธ์ :
์ ์ถ๋ ฅ ํ์:
1) ์ ๋ ฅ: main ํจ์๋ ๋ค์ ๊ฐ๋ค์ ํ์ค์ ๋ ฅ๋ฐ๋๋ค.
- ์ฒซ ๋ฒ์งธ ๋ผ์ธ: ์ ์ n (n × n ํ๋ ฌ์์ n ๊ฐ, ๋จ n ≤ 100์ผ๋ก ์ ์ ํจ)
- ๋ ๋ฒ์งธ ์ดํ ๋ผ์ธ: n × n ๋นํธ ํ๋ ฌ ์์๋ค(ํ์ฐ์ ์์)
2) ์ถ๋ ฅ: main ํจ์๋ 1์ด ๊ฐ์ฅ ๋ง์ ํ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค. ๋จ, ์ฒซ ๋ฒ์งธ ํ ๋ฒํธ๋ 0์ด๋ค.
์ ๋ ฅ ์์ 1 |
์ถ๋ ฅ ์์ 2 |
8 โฆ n = 8 (8 × 8 ํ๋ ฌ) 1 1 1 1 0 0 0 0 โฆ ๊ฐ ๋นํธ๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 |
6 โฆ 1์ด ๊ฐ์ฅ ๋ง์ ํ ๋ฒํธ: 6 |
์์ฌ์ฝ๋:
์ฝ๋:
#include<stdio.h>
int mostOnes(int A[100][100], int n) {
int row = 0;
int i = 0, j = 0;
while(1) {
while(A[i][j]==1) {
j += 1;
if (j == n)
return i;
row = i;
}
while (A[i][j] == 0) {
i += 1;
if (i == n)
return row;
}
}
return row;
}
int main() {
int N;
scanf("%d", &N);
int A[100][100];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &A[i][j]);
}
}
printf("%d", mostOnes(A, N));
return 0;
}
**์์ฌ์ฝ๋ ์์์ผํจ
๋์ ํ๊ท ๋ฌธ์ :
์ ์ถ๋ ฅ ํ์:
1) main ํจ์๋ ์๋ ํ์์ ํ์ค์ ๋ ฅ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด X๋ฅผ ์ด๊ธฐํํ ํ ๊ฐ ํจ์๋ฅผ ํธ์ถํ๋ค.
์ ๋ ฅ : main ํจ์๋ ๋ค์ ๊ฐ๋ค์ ํ์ค์ ๋ ฅ ๋ฐ๋๋ค.
์ฒซ ๋ฒ์งธ ๋ผ์ธ: ์ ์ n (๋ฐฐ์ด X์ ํฌ๊ธฐ)
๋ ๋ฒ์งธ ์ดํ ๋ผ์ธ: X[0] X[1] X[2] ... (๋ฐฐ์ด X, ํ ๋ผ์ธ ์์ ์์ ์ ์ ์์ด)
โป ํํธ: n์ ํฌ๊ธฐ์๋ ์ ํ์ด ์๋ค. ๋ฐ๋ผ์ ๋์ ํ ๋น์ ์ฌ์ฉํ์ฌ์ผ ํจ)
2) main ํจ์๋ ์๋ ํ์์ ํ์ค์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ๊ฐ ํจ์๋ก๋ถํฐ ๋ฐํ๋ ๋ฐฐ์ด A๋ฅผ ์ถ๋ ฅํ๋ค.
์ถ๋ ฅ : A[0] A[1] A[2] ...
(๋ฐฐ์ด X์ ๊ฐ์ ํฌ๊ธฐ์ ๋ฐฐ์ด A์ ์์๋ค์ ๋ํ๋ด๋ ํ ๋ผ์ธ ์์ ์์ ์ ์ ์์ด๋ก์ ์ฒซ ๋ฒ์งธ ๋ผ์ธ์ prefixAverages1์ ์ถ๋ ฅ์, ๋ ๋ฒ์งธ ๋ผ์ธ์ prefixAverages2์ ์ถ๋ ฅ์ ๋ํ๋ธ๋ค)
3) ํ๊ท ๊ณ์ฐ ์ ์์์ ์ดํ๋ฅผ ๋ฐ์ฌ๋ฆผํ์ฌ ์ ์๋ก ๊ตฌํ๋ค. ์ ํํ ๋ฐ์ฌ๋ฆผ์ ์ํด, %.f๋ฅผ ์ฐ์ง ๋ง๊ณ int ์ฑ์ง์ ์ด์ฉํด์ ๋ฐ์ฌ๋ฆผํ๋ผ.
์ ๋ ฅ ์์ 1 |
์ถ๋ ฅ ์์ 1 |
3 โฆ ๋ฐฐ์ด X ํฌ๊ธฐ 5 1 9 โฆ ๋ฐฐ์ด X |
5 3 5 โฆ prefixAverages1์ ์ถ๋ ฅ 5 3 5 โฆ prefixAverages2์ ์ถ๋ ฅ |
์ ๋ ฅ ์์ 2 |
์ถ๋ ฅ ์์ 2 |
6 โฆ ๋ฐฐ์ด X ํฌ๊ธฐ 1 3 2 10 6 8 โฆ ๋ฐฐ์ด X |
1 2 2 4 4 5 โฆ prefixAverages1์ ์ถ๋ ฅ 1 2 2 4 4 5 โฆ prefixAverages2์ ์ถ๋ ฅ |
์ฝ๋:
#include<stdio.h>
#include<stdlib.h>
int prefixAverages1(int *x, int n);
int prefixAverages2(int *x, int n);
int main() {
int n;
scanf("%d", &n);
int* x = NULL;
x = (int*)malloc(n * sizeof(int));
if (x == NULL) {
printf("Not enough memory!");
return -1;
}
for (int i = 0; i < n; i++) {
scanf("%d", &x[i]);
}
int* arr1 = prefixAverages1(x, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
free(arr1);
int* arr2 = prefixAverages2(x, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr2[i]);
}
free(arr2);
free(x);
}
int prefixAverages1(int *x, int n) {// O(n^2)ํจ์
int sum;
int* A = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++) {
sum = 0;
for (int j = 0; j <= i; j++) {
sum = sum + x[j];
}
A[i] = (int)((sum / (double)(i + 1)) + 0.5);// ๋ฐ์ฌ๋ฆผ
}
return A;
}
int prefixAverages2(int *x, int n) {// O(n)ํจ์
int sum = 0;
int* A = (int*)malloc(n * sizeof(int));
for (int i = 0; i < n; i++)
{
sum += x[i];
A[i] = (int)((sum / (double)(i + 1)) + 0.5);
}
return A;
}
*prefixAverages1, prefixAverages2 ํจ์ ๋ด์์๋ ๋์ ํ ๋น ์ด์ฉํด์ ๋ฐฐ์ด ์ ์ธํ๊ธฐ
*๋ฐ์ฌ๋ฆผ ํด์ฃผ๋ ๋ถ๋ถ ์ฃผ์
'Programming > ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฆฌ์คํธ] ์ด์ค์ฐ๊ฒฐ๋ฆฌ์คํธ ADT ๊ตฌํ (0) | 2021.04.14 |
---|---|
[์ฐ๊ฒฐ๋ฆฌ์คํธ] ๋จ์ผ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ๋คํญ์ ๊ณ์ฐ ๊ตฌํํ๊ธฐ (0) | 2021.04.08 |
[๋ฆฌ์คํธ] ์ถ์์๋ฃํ (0) | 2021.04.05 |
[๊ธฐ์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ] ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ, ๋จ์ผ์ฐ๊ฒฐ๋ฆฌ์คํธ (0) | 2021.04.05 |
[์๊ณ ๋ฆฌ์ฆ ๋ถ์] ์๊ณ ๋ฆฌ์ฆ, ์์ฌ์ฝ๋, Big-Oh ํ๊ธฐ๋ฒ (0) | 2021.04.05 |
- Total
- Today
- Yesterday
- dreambooth
- SQL
- ํ๋ก๊ทธ๋๋จธ์ค
- ์คํ ์ด๋ธ๋ํจ์
- Aimers
- ํ ํฌ์๋ฐ
- AIRUSH2023
- ๋ ผ๋ฌธ์ฝ๊ธฐ
- C์ธ์ด
- ํ์ด์ฌ์ฝํ
- gs๋ ผ๋ฌธ
- AI์ปจํผ๋ฐ์ค
- SKTECHSUMMIT
- ์ฝ๋ฉ์๋ฌ
- ๋ ผ๋ฌธ
- CLOVAX
- ํ์ด์ฌ
- Paper review
- ์ฝํ ์ค๋น
- ์ฝ๋ฉ๊ณต๋ถ
- gan
- MYSQL
- AIRUSH
- 2d-gs
- ์ปดํจํฐ๋น์
- 3d-gs
- Gaussian Splatting
- lgaimers
- ๋ ผ๋ฌธ๋ฆฌ๋ทฐ
- ๋๋ฆผ๋ถ์ค
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |