๋ฐฐ์ด (Array)
โข
๋ฐฐ์ด(Array) ์ด๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์
์ ๋ณ์๋ค์ด ๋ชจ์ธ ์งํฉ์ด๋ค.
โข
๋ฐฐ์ด์ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ฅ๋๋ฉฐ, ๊ฐ ์์๋ ๋์ผํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ค.
โข
๋ฐฐ์ด์ ๋ค์ ๋ ๊ฐ์ง ์์๋ก ๊ตฌ์ฑ๋๋ค.
๋ฐฐ์ด ๊ตฌ์ฑ ์์ | ์๋ฏธ |
๋ฐฐ์ด์ ์์ ์ฃผ์ | ๋ฐฐ์ด์ด ๋ฉ๋ชจ๋ฆฌ์์ ์์ํ๋ ์์น์ ์ฃผ์ |
๋ฐฐ์ด ์์ ํฌ๊ธฐ | ๊ฐ ์์๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐจ์งํ๋ ํฌ๊ธฐ |
๋ฐฐ์ด๊ณผ ์ธ๋ฑ์ค(Index)
โข
๋ฐฐ์ด์์ ๊ฐ ์์์ ์ ๊ทผํ ๋๋ **์ธ๋ฑ์ค(index)**๋ฅผ ์ฌ์ฉํ๋ค.
โข
์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ์์ ์ฃผ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ ๋ฐ์ดํฐ์ ์์ ์ฃผ์๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
โข
๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ 0๋ถํฐ ์์ํ๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ๊ณ์ฐ ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฃผ์ ๊ณ์ฐ ์์ (์ ์ํ ๋ฐฐ์ด)
๊ฐ | ์์ ์ฃผ์ | ์ธ๋ฑ์ค |
1 | 1000 + 4 ร 0 | 0 |
2 | 1000 + 4 ร 1 | 1 |
3 | 1000 + 4 ร 2 | 2 |
4 | 1000 + 4 ร 3 | 3 |
5 | 1000 + 4 ร 4 | 4 |
โข
์ ํ์์ ๋ณผ ์ ์๋ฏ์ด,
์์์ฃผ์ + (์๋ฃํ ํฌ๊ธฐ ร ์ธ๋ฑ์ค) ๋ก ์ํ๋ ์์์ ์ฃผ์๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
๋ฐฐ์ด ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ ๋ฐ ์ด๊ธฐํ ์์
#include <iostream>
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
// intํ ๋ฐฐ์ด arr๋ฅผ ์ ์ธ ๋ฐ ์ด๊ธฐํ. ํฌ๊ธฐ๋ 5์ด๋ฉฐ, ๊ฐ์ 1,2,3,4,5
return 0;
}
C++
๋ณต์ฌ
๋ฐฐ์ด ์์ ์ ๊ทผ ์์
#include <iostream>
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
// ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ์ ๊ทผ (์ธ๋ฑ์ค๋ 0๋ถํฐ ์์)
std::cout << arr[0]; // ์ถ๋ ฅ: 1
// ์๋ชป๋ ์ธ๋ฑ์ค ์ ๊ทผ ์์
int index = 5;
std::cin >> index;
std::cout << arr[index]; // 0~4๋ฅผ ๋ฒ์ด๋๋ฉด ์ง์ ๋์ง ์์ ๊ฐ (์ํ)
return 0;
}
C++
๋ณต์ฌ
๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ์ ์๋์ง ์์ ๋์์ด ๋ฐ์ํ ์ ์๋ค.
๋ฐฐ์ด๊ณผ ๋ฐ๋ณต๋ฌธ์ ํ์ฉ
โข
๋ฐฐ์ด์ ๋ฐ๋ณต๋ฌธ๊ณผ ๊ฒฐํฉํ๋ฉด ๋งค์ฐ ํจ์จ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค.
#include <iostream>
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
for (int i = 0; i < 5; i++)
{
std::cout << arr[i]; // i๋ฅผ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉ
}
return 0;
}
C++
๋ณต์ฌ
12345
์ฐ์ต๋ฌธ์
๋ฌธ์ 1๋ฒ
for๋ฌธ์ ์ฌ์ฉํด์ ์ซ์ 5๊ฐ๋ฅผ ์
๋ ฅ ๋ฐ์ผ์ธ์
๋ค์ for๋ฌธ์ ๋๋ ค ๋ฐฐ์ด์ ๊ฐ์ ์ถ๋ ฅํ์ธ์
ex)
์ ๋ ฅ ์์
3 5 2 6 7
์ถ๋ ฅ ์์
3 5 2 6 7
๋ฌธ์ 2๋ฒ
์ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉ ํด์ฃผ์ธ์.
์ซ์ ํ๋๋ฅผ ์
๋ ฅ ๋ฐ๊ณ , ์
๋ ฅ ๋ฐ๋ index์ ํด๋นํ๋ ๋ฐฐ์ด ๊ฐ์ ์ถ๋ ฅ ํ์ธ์.
์ ๋ ฅ ์์
3
์ถ๋ ฅ ์์
3๋ฒindex์๊ฐ์6์
๋๋ค
๋ฌธ์ 3๋ฒ
for๋ฌธ์ ๋๋ ค ์ซ์ 7๊ฐ๋ฅผ ๋ฐฐ์ด์ ์
๋ ฅ ๋ฐ์์ฃผ์ธ์.
๋ฐฐ์ด ์ฒซ๋ฒ์งธ ์นธ์ ์๋ ์ซ์์
๋ฐฐ์ด ๋ง์ง๋ง ์นธ์ ์๋ ์ซ์๋ฅผ ๋ํด
์ถ๋ ฅ ํด ์ฃผ์ธ์
๋ง์ฝ 4 5 7 8 9 10 11 ์ ์
๋ ฅํ๋ค๋ฉด,
๋ฐฐ์ด์ ์
๋ ฅ์ ๋ฐ๊ณ
4์ 11์ ๋ ํ ๊ฐ์ธ 15๋ฅผ ์ถ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
์ ๋ ฅ ์์
4 5 7 8 9 10 11
์ถ๋ ฅ ์์
15
๋ฌธ์ 4๋ฒ
์ซ์ 1๊ฐ ์
๋ ฅ ๋ฐ๊ณ ,
์
๋ ฅ ๋ฐ์ ์ซ์์ +5๋ฅผ ํ ํ
์ด ๊ฐ์ผ๋ก ๋ฐฐ์ด์ ์ฑ์์ฃผ์ธ์
๊ทธ๋ฆฌ๊ณ ๋ค์ for๋ฌธ์ ๋๋ ค ๋ฐฐ์ด๊ฐ์ ์ถ๋ ฅ ํด์ฃผ์ธ์.
ex)
์
๋ ฅ : 3
์ถ๋ ฅ : 8 8 8 8 8
์ ๋ ฅ ์์
3
์ถ๋ ฅ ์์
8 8 8 8 8
๋ฌธ์ 5๋ฒ
์๋ arr๋ฐฐ์ด์ ํ๋์ฝ๋ฉ ํด์ฃผ์ธ์.
์ซ์ 2๊ฐ๋ฅผ a, b ๋ณ์์ ์
๋ ฅ ๋ฐ๊ณ ,
๊ทธ๋ฆฌ๊ณ arr[a]์ arr[b]์ ํฉ์ ์ถ๋ ฅ ํด์ฃผ์ธ์
์ ๋ ฅ ์์
2 4
์ถ๋ ฅ ์์
8
๋ฌธ์ 6๋ฒ
์ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉ ํ์ธ์.
์ซ์ 1๊ฐ ์
๋ ฅ ๋ฐ๊ณ ,
์
๋ ฅ๋ฐ์ ์ซ์ index์ ํด๋นํ๋ ๊ฐ์ด
2๋ณด๋ค ํฌ๋ฉด(>) "์ฐ์" ,ย ์๋๋ฉด "ใ
ใ
" ๋ฅผ ์ถ๋ ฅ ํด์ฃผ์ธ์.
์ ๋ ฅ ์์
1
์ถ๋ ฅ ์์
ใ
ใ
๋ฌธ์ 7๋ฒ
์๋ ์ซ์ 5๊ฐ๋ฅผ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉํ ํ, ์ซ์ 1๊ฐ(index)๋ฅผ ์
๋ ฅ ๋ฐ์ผ์ธ์
arr[index] ๊ฐ์ 100์ ๋บ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ์ธ์
ex)
4๋ฅผ ์
๋ ฅํ๋ค๋ฉด, 4๋ฒ index์ ๊ฐ์ 100์ ๋นผ๋ฉด ๋ฉ๋๋ค.
243 - 100 = 143
์ ๋ ฅ ์์
3
์ถ๋ ฅ ์์
-19
๋ฌธ์ 8๋ฒ
์ซ์ ํ๋๋ฅผ ์
๋ ฅ ๋ฐ์ผ์ธ์
๋ง์ฝ ๊ทธ ์ซ์๊ฐ 5๋ณด๋ค ํฌ๋ฉด
โข
-> for๋ฌธ์ ๋๋ ค 1๋ถํฐ 10๊น์ง ์ถ๋ ฅ ํด ์ฃผ์ธ์.
๊ทธ๋ ์ง ์์ผ๋ฉด
โข
-> for๋ฌธ์ ๋๋ ค 5๋ถํฐ 1๊น์ง ์ถ๋ ฅ ํด ์ฃผ์ธ์.
ํํธ : if์ for๋ฌธ์ ์ ์ ํ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
์ ๋ ฅ ์์
3
์ถ๋ ฅ ์์
5
4
3
2
1
๋ฌธ์ 9๋ฒ
์์ ๊ฐ์ด 5์นธ์ง๋ฆฌ ๋ฐฐ์ด์ ๊ฐ์ ํ๋์ฝ๋ฉ์ผ๋ก ์ฑ์ด ํ
๋ฐฐ์ด ๊ฐ์ ๊ฑฐ๊พธ๋ก ์ถ๋ ฅ ํ์ธ์.
์ถ๋ ฅ ์์
7 4 3 2 5
๋ฌธ์ 10๋ฒ
๋ฐฐ์ด์ 6์นธ์ ์ ์ธ ํด ์ฃผ์ธ์
์ซ์ 1๊ฐ๋ฅผ ์
๋ ฅ ๋ฐ์ผ์ธ์
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ซ์๋ถํฐ 1์ฉ ์์ ์ซ์๋ฅผ ๊ฐ ๋ฐฐ์ด์นธ์ ์ฑ์ ์ฃผ์ธ์
๊ทธ๋ฆฌ๊ณ 2๋ฒ index์ ๊ฐ์ ์ถ๋ ฅ ํด ์ฃผ์ธ์ (ํํธ : cout << arr[2]; )
์๋ก๋ค์ด์ 8์ ์
๋ ฅ ๋ฐ์๋ค๊ณ ํ๋ค๋ฉด
8 | 7 | 6 | 5 | 4 | 3 |
์ด๋ ๊ฒ ์ฑ์์ฃผ์๊ณ 2๋ฒ index์ ๊ฐ์ 6์ด๊ธฐ ๋๋ฌธ์
์ซ์ 6์ ์ถ๋ ฅ ํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
[ํํธ]
for (x=0; x<6; x++)
{
arr[x] = ........;
}
์ ๋ ฅ ์์
8
์ถ๋ ฅ ์์
6
๋ฌธ์ 11๋ฒ
์ซ์ 4๊ฐ 4์นธ์ง๋ฆฌ ๋ฐฐ์ด ์
๋ ฅ ๋ฐ๊ณ ,
for๋ฌธ ๋๋ ค sum์ ๊ตฌํ ํ,ย sum๊ฐ์ ์ถ๋ ฅ ํด์ฃผ์ธ์.
[ํํธ]
sum=sum+arr[x];
ex)
์ถ๋ ฅ: 12
์ ๋ ฅ ์์
3 3 5 1
์ถ๋ ฅ ์์
12
๋ฌธ์ 12๋ฒ
์๋์ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉํด ์ฃผ์ธ์.
index๊ฐ ํ๋๋ฅผ ์
๋ ฅ๋ฐ์ ์ฃผ์ธ์.
์
๋ ฅ๋ index๊ฐ ๋ถํฐ ๋ฐฐ์ด ๋๊น์ง ์ถ๋ ฅ ํด ์ฃผ์ธ์.
ex)
3์ ์
๋ ฅํ์
จ๋ค๋ฉด
index 3๋ฒ ๋ถํฐ ๋๊น์ง์ธ
2
-33
57
82
-8
13
1
์ ์ถ๋ ฅํ์๋ฉด ๋ฉ๋๋ค.
์ ๋ ฅ ์์
5
์ถ๋ ฅ ์์
57
82
-8
13
1
ํ๋ จ๋ฌธ์
๋ฌธ์ 1๋ฒ
๋ค์๊ณผ ๊ฐ์ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉ ํด ์ฃผ์ธ์.
3 | 2 | 6 | 7 | 1 | 8 |
๊ทธ๋ฆฌ๊ณ ์ซ์ ํ๋๋ฅผ ์
๋ ฅ๋ฐ๊ณ , ๊ทธ ์ซ์ ์์น์ ์๋ ๊ฐ์ ์ถ๋ ฅ ํด ์ฃผ์ธ์.
ex)
2๋ฅผ ์
๋ ฅ ํ๋ค๋ฉด, 2๋ฒ index์๋ ๊ฐ์ด 6์ด ๋ค์ด ์๊ธฐ ๋๋ฌธ์
์ถ๋ ฅ ๊ฒฐ๊ณผ๋ 6 ์
๋๋ค.
์ ๋ ฅ ์์
0
์ถ๋ ฅ ์์
3
๋ฌธ์ 2๋ฒ
๋ณต์กํ ์กฐ๊ฑด์ด ์๋์ ๊ฐ์ด ์ฃผ์ด์ง๋๋ค. ์ ์ฝ๊ณ ํ์ด์ฃผ์ธ์
์ซ์ 1๊ฐ๋ฅผ ์
๋ ฅ ๋ฐ์ผ์ธ์
๋ง์ฝ ๊ทธ ์ซ์๊ฐ 3์ด ์๋๋ผ๋ฉด
"3์ด ์๋๋ค" ๋ผ๊ณ ์ถ๋ ฅ ํด ์ฃผ์ธ์
๋ง์ฝ ๊ทธ ์ซ์๊ฐ 5๊ฐ ์๋๋ผ๋ฉด
"5๊ฐ ์๋๋ค" ๋ผ๊ณ ์ถ๋ ฅ ํด ์ฃผ์ธ์
๋ง์ฝ ๊ทธ ์ซ์๊ฐ 1๋ณด๋ค ํฌ๊ณ 10๋ณด๋ค ์์ ์ซ์๋ผ๋ฉด
for๋ฌธ์ ๋๋ ค 5๋ถํฐ 1๊น์ง ์ถ๋ ฅ ํด ์ฃผ์ธ์.
์ ๋ ฅ ์์
4
์ถ๋ ฅ ์์
3์ด ์๋๋ค
5๊ฐ ์๋๋ค
5
4
3
2
1
๋ฌธ์ 3๋ฒ
5์นธ ์ง๋ฆฌ ๋ฐฐ์ด์ ์ ์ธํ์ธ์
๊ทธ๋ฆฌ๊ณ ์ซ์๋ฅผ ํ๋ ์
๋ ฅ ๋ฐ๊ณ ,
๊ทธ ์ซ์๋ก ๋ฐฐ์ด์ ๊ฝ ์ฑ์์ฃผ์ธ์
๊ทธ๋ฆฌ๊ณ ๋ค์ for๋ฌธ์ ๋๋ ค ์ถ๋ ฅ ํด ์ฃผ์ธ์
์ ๋ ฅ ์์
3
์ถ๋ ฅ ์์
33333
๋ฌธ์ 4๋ฒ
๋ค์ฏ์นธ ์ง๋ฆฌ ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ์ธ์.
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ํ๋์ฝ๋ฉํ ํ
for๋ฌธ์ ๋๋ ค ์ถ๋ ฅ ํด ์ฃผ์ธ์
(* ํ๋์ฝ๋ฉ : cin๋ก ์
๋ ฅ๋ฐ์ง ์๊ณ , ์์ค์ฝ๋์ ์ซ์๋ฅผ ์ ์ด๋๋ ๊ฒ์ ๋ปํจ)
1 | 7 | 3 | 2 | 6 |
์ถ๋ ฅ ์์
17326
๋ฌธ์ 5๋ฒ
๋ฐฐ์ด์ ๊ฐ 7๊ฐ๋ฅผ ์
๋ ฅ ๋ฐ๊ณ ๋ ๋ค
0๋ฒ index๊ฐ + 1๋ฒ index๊ฐ + 2๋ฒ index๊ฐ ์ ์ถ๋ ฅ ํด์ฃผ์ธ์.
ex)
3+5+4 = 12
์ถ๋ ฅ: 12
์ ๋ ฅ ์์
3 5 4 2 1 1 2
์ถ๋ ฅ ์์
12
๋ฌธ์ 6๋ฒ
์๋์ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉ ํด ์ฃผ์ธ์.
๊ทธ๋ฆฌ๊ณ ์ซ์ 3๊ฐ ์
๋ ฅ๋ฐ๊ณ ์ซ์ 3๊ฐ์ ํฉ์ ๊ตฌํด์ฃผ์ธ์
sum์ด 10๋ณด๋ค ํฌ๋ฉด ๋งจ ๋ง์ง๋ง์นธ์ ์ถ๋ ฅ
๊ทธ๋ ์ง ์๋ค๋ฉด ์ฒซ๋ฒ์งธ ์นธ์ ์ถ๋ ฅํด ์ฃผ์ธ์.
์ ๋ ฅ ์์
1 2 3
์ถ๋ ฅ ์์
3
๋ฌธ์ 7๋ฒ
์๋์ ๋ฐฐ์ด์ ํ๋์ฝ๋ฉํด ์ฃผ์ธ์.
index๊ฐ ํ๋๋ฅผ ์
๋ ฅ๋ฐ์ ์ฃผ์ธ์.
์
๋ ฅ๋ index๊ฐ ๋ถํฐ ๋ฐฐ์ด ์ฒซ๋ฒ์งธ ๊น์ง ์ถ๋ ฅ ํด ์ฃผ์ธ์.
ex)
4๋ฅผ ์
๋ ฅ ๋ฐ์ผ์
จ๋ค๋ฉด
4๋ฒ index๋ถํฐ ๋ฐฐ์ด ์ฒซ๋ฒ์งธ ๊น์ง์ธ
-4
8
1
7
5
๋ฅผ ์ถ๋ ฅ ํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
์ ๋ ฅ ์์
5
์ถ๋ ฅ ์์
-73
-4
8
1
7
5
๋ฌธ์ 8๋ฒ
์ซ์ 1๊ฐ๋ฅผ ์
๋ ฅ ๋ฐ์ผ์ธ์
๊ทธ ์ซ์๋ถํฐ 1์ฉ ์ฆ๊ฐ๋๋ ์ซ์๋ฅผ
6์นธ์ง๋ฆฌ ๋ฐฐ์ด์ ์ฑ์์ฃผ์ธ์
๋ง์ฝ 3์ ์
๋ ฅ๋ฐ์๋ค๋ฉด
์ด๋ ๊ฒ ๋ฐฐ์ด์ ์ฑ์ฐ๊ณ ์ถ๋ ฅํ์๋ฉด ๋ฉ๋๋ค.
3 | 4 | 5 | 6 | 7 | 8 |
์ ๋ ฅ ์์
3
์ถ๋ ฅ ์์
3
4
5
6
7
8
๋ฌธ์ 9๋ฒ
4์นธ์ง๋ฆฌ ๋ฐฐ์ด์ ๋ง๋ค๊ณ , ๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํ ํด์ฃผ์ธ์.
์ซ์ 2๊ฐ๋ฅผ ์
๋ ฅํ๊ณ
์
๋ ฅํ ์ซ์ 2๊ฐ๋ฅผ 0๋ฒ index์ 2๋ฒ index์ ๋ฃ์ด์ฃผ์ธ์.
ex)
์
๋ ฅ : 3 5
์ถ๋ ฅ : 3050
์ ๋ ฅ ์์
3 5
์ถ๋ ฅ ์์
3050