์ ํ ๊ฒ์
์์์ ๋ฐฐ์ด์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ
'์์์'์ธ ์ด์ ๋ ํฌ๊ธฐ ์์๋๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด์ด๋ผ๋ฉด '์ด์ง ๊ฒ์'์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ซ๋ค.
์์ ๋ฌด์์. ๋ฐฐ์ด์ ์์์๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋ค. ๊ณ์ฐ ์๊ฐ์ O(n)
์) ์ง์ ํ ๊ฐ๊ณผ ๋ฐฐ์ด์ ๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ ์ข ๋ฃ. ๋ฐฐ์ด์ ๊ฐ์ ๊ฐ์ด ์ค๋ณต์ผ๋ก ์์ ๊ฒฝ์ฐ์๋, ์ฒ์ ๋ฐ๊ฒฌ๋ ์์ ์ ์ข ๋ฃํ๋ค.
x=68์ธ ๊ฒฝ์ฐ, '1'
์ํ๋ ๊ฐ์ด ๋ฐ๊ฒฌ๋์ง ์์ ๊ฒฝ์ฐ '-1'์ ํ์ํ๋ค. -1์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ ์ ์๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ
#include <stdio.h>
#define LENGTH 10
int main(void) {
int x = 0;
int pos = -1;
int a[] = { 72, 68, 92, 88, 41, 53, 97, 84, 39, 55 };
printf("์
๋ ฅํ ์ซ์ : ");
scanf_s("%d", &x);
printf("๋ฐ๋ณต ์คํ ์ : x = %d, pos = %d\n", x, pos);
// ๋ฐฐ์ด์ ๋๊น์ง ํ์ธํ์ง ์์๊ณ , ์ํ๋ ๊ฐ์ด ๋ฐ๊ฒฌ๋์ง ์์๋ค๋ฉด ๋ฐ๋ณตํ๋ผ๋ ์๋ฏธ
for (int i = 0; i < LENGTH && pos == -1; ++i) {
if (a[i] == x) {
pos = i;
}
printf("๋ฐ๋ณต ์คํ ์ค : i = %d, pos = %d\n", i, pos);
}
printf("%d\n", pos);
printf("๋ฐ๋ณต ์คํ ํ : pos = %d\n", pos);
return 0;
}
์ ํ ๊ฒ์์ ํจ์จํํ๋ ๋ณด์ด๋ฒ์ ๊ฐ์?
์ ํ ๊ฒ์์ ํจ์จํํ๋ ๊ธฐ์ ๋ก์จ ๋ณด์ด๋ณ์ ๊ฐ๋ ์ ์ด์ฉํ๋ '๋ณด์ด๋ฒ'์ด ์๋ค. = ๋์ ๋ฐ์ดํฐ
์ ํ ๊ฒ์์ ๋ฐฐ์ด์ ๋์ ๋ณด์ด๋ฒ์ ๊ฐ์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ํ ๊ฒ์ ํ์๋ฅผ ์ค์ฌ ๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
cf. ๋ณด์ด๋ฒ์ ๊ฐ์ด ์์ ๋๋์์ ํ๋์ ๋ํด ๋ ๊ฐ์ง ๊ฒ์ฌ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
์) ๋ฐฐ์ด์์ 53์ ์ฐพ์ผ๋ ค๋ฉด ๋ณด์ด๋ฒ์ ๊ฐ์ ๋ฌด์์ผ๋ก ํ๋ฉด ์ข์๊น?
๋ฐฐ์ด์์ 53์ด๋ผ๋ ๊ฐ์ ์ฐพ์ ๊ฒฝ์ฐ, ๋ณด์ด๋ฒ์ ๊ฐ์ 53์ผ๋ก ํ๋ค. ๋ณด์ด๋ฒ์ ๊ฐ์ด ์์ ๋๋ ์์ ํ๋์ ๋ํด '53์ธ๊ฐ?'์ '๋์ธ๊ฐ?'๋ผ๋๋ ๊ฐ์ง ์ฌํญ์ ํ์ธํ๋ค. ๋ณด์ด๋ฒ์ ์ฌ์ฉํ๋ฉด '๋์ธ๊ฐ?'๋ผ๋ ํ์ธ์ด ๋ถํ์ํด์ง๋ค. ์๋ํ๋ฉด ๋ฐฐ์ด์ ์ค๊ฐ์ 53์ด ์๋๋ผ๋ ๋์ 53์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ
๋ฐฐ์ด์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ ๊ตฌํ๊ธฐ
#include <stdio.h>
#define LENGTH 10
int main(void) {
int a[] = { 72, 68, 92, 88, 41, 53, 97, 84, 39, 55 };
int max, min;
max = a[0];
min = a[0];
for (int i = 0; i < LENGTH; ++i) {
if (a[i] > max) {
max = a[i];
}
if (a[i] < min) {
min = a[i];
}
}
printf("์ต๋๊ฐ : %d\n", max);
printf("์ต์๊ฐ : %d\n", min);
return 0;
}
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > ๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ (0) | 2024.03.27 |
---|---|
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (ํ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2024.03.27 |
ํ๋ ธ์ด์ ํ (0) | 2024.01.06 |
์์ ํ๋ณ๋ฒ(ํ๋ฅด๋ง ํ ์คํธ) (1) | 2024.01.06 |
์๊ฐ๋ณต์ก๋ (1) | 2024.01.03 |