๐ฏ ์ค๋์ ์์นจ์ ์ฝ๋ฉ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ํ ๊ณผ์ ์ ์ถ๊น์ง ์๊ฐ์ด ์กฐ๊ธ ๋จ์ ๋์ ๊ณผ์ ๊น์ง ์๋ฃํ๋ค.
์คํ์๋ ๊ณผ์ ํ์ด ๊ฐ์๋ฅผ ๋ฃ๊ณ , ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ ๊ณผ์ ๋ฅผ ๋ณต์ตํ๋ ์๊ฐ์ ๊ฐ์ก๋ค.
โ 0 ์ด๋์ํค๊ธฐ 1
void main() { var list = []; for (var i = 0; i < list.length; i++) { if (list[i] != 0) { for(var j = 0; j < list.length; j++) { if (list[j] == 0) { var change = list[i]; list[i] = list[j]; list[j] = change; } } } } print("$list"); }๐ฌ ์ด๋ฐ ์์ผ๋ก ์ซ์๊ฐ 0์ด ์๋๋, 0์ ์ฐพ์์ ์์น๋ฅผ ์ฎ๊ฒจ์ฃผ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
โ 0 ์ด๋์ํค๊ธฐ 2
void main() { var list = [1, 0, 2, 0, 0, 2]; var index = []; for (var i = 0; i < list.length; i++) { if (list[i] == 0) { index.add(i); } } for (var j = 0; j < index.length; j++) { list.removeAt(index[index.length - j -1]); list.add(0); } print("$list"); }๐ฌ ์ด ๋ฐฉ๋ฒ์ ์ฐ์ ๊ฐ์ด 0์ธ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๋ฅผ ๊ตฌํด์ ๊ทธ ์์น์ ๋ฐฐ์ด์ ์ญ์ ํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ญ์ ํ ๋งํผ ๋ฆฌ์คํธ์ 0์ ์ถ๊ฐํ๋ ๋ฐฉ์์ด๋ค.
๐ ๋ค๋ฅธ ์ฝ๋ 1
void moveZeroes(List<int> nums) { int lastNonZeroIndex = 0; // [0, 1, 0, 3, 12] index : 0, i : 0 // i: 1, nums : [1, 1, 0, 3, 12], index: 1 // i : 2, // i: 3, [1, 3, 0, 3, 12], index: 2 // i: 4, [1, 3, 12, 3, 12], index: 3 // ๋ชจ๋ ๋น-0 ์์๋ฅผ ๋ฐฐ์ด์ ์๋ถ๋ถ์ผ๋ก ์ด๋ for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { nums[lastNonZeroIndex] = nums[i]; lastNonZeroIndex++; } } // [1,3,12,3,12] // i: 4, [1, 3, 12, 0, 0], index: 3 // ๋๋จธ์ง ์์๋ฅผ 0์ผ๋ก ์ค์ for (int i = lastNonZeroIndex; i < nums.length; i++) { nums[i] = 0; } // [1,3,12,0,0] }๐ ๋ค๋ฅธ ์ฝ๋ 2
void moveZeroes(List<int> nums) { if (nums.length < 2) return; int length = nums.length; List<int> zeroIndex = []; // for (int i = 0; i < length; i++) { if (nums[i] == 0) { zeroIndex.add(i); } } for (int i = 0; i < zeroIndex.length; i++) { nums.removeAt(zeroIndex[i] - i); nums.add(0); } return; }๐ ๋ค๋ฅธ ์ฝ๋ 3
void moveZeroes(List<int> nums) { int originalLength = nums.length; nums.removeWhere((x) => x == 0); int zerosToAdd = originalLength - nums.length; nums.addAll(List.filled(zerosToAdd, 0)); }๐ ๋ค๋ฅธ ์ฝ๋ 4
void moveZeroes(List<int> nums) { int lastNonZero = 0; for (int i = 0; i < nums.length; i++) { if (nums[i] != 0) { int temp = nums[i]; nums[i] = nums[lastNonZero]; nums[lastNonZero] = temp; lastNonZero++; } } }๐ญ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํ๋ค๋ณด๋ ์ด๋ ๊ฒ ๋ค์ํ ํด๊ฒฐ ์ฝ๋๊ฐ ์๋ค๋ ๊ฑธ ์๊ฒ๋๋ ๊ฒ ๊ฐ๋ค.
ํด์คํด์ฃผ์ ๋ด์ฉ์ด๋ ์ฝ๋๋ค๋ ํ์ธํ๋ฉด์ ์ ์ดํดํ๋๋ก ๋ณต์ตํ๋๊ฒ ์ค์ํ ๊ฒ ๊ฐ๋ค.
๊ทธ๋์ผ ๋ค์์๋ ์ ์ฐํ ์ฌ๊ณ ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ๋ค์ํ๊ฒ ํ ์ ์์ง ์์๊น ์ถ๋ค.
๐ ์บ๋ฆญํฐ ์ฒด๋ ฅ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ
๐character.dartif (Random().nextInt(10) <= 2) { character.hp += 10; print("๋ณด๋์ค ์ฒด๋ ฅ์ ์ป์์ต๋๋ค! ํ์ฌ ์ฒด๋ ฅ: ${character.hp}"); }๐ฌ
Random()์ ์ฌ์ฉํ์ฌ 30%์ ํ๋ฅ ๋ก ์ถ๊ฐ ์ฒด๋ ฅ์ ์ฃผ๋๋ฐnextInt(10)์ ๊ฒฝ์ฐ0~9๊น์ง๋ผ์ ๋๋ฌธ์<=2๋ก ์ค์ ํ์๋ค.
๐ ์บ๋ฆญํฐ ์์ดํ ์ฌ์ฉ ๊ธฐ๋ฅ ์ถ๊ฐ
๐character.dartclass Character extends Utils { bool hasItem = true; bool usingItem = false; . . // ์บ๋ฆญํฐ ๊ณต๊ฒฉ ๋ก์ง void attackMonster(Monster monster) { var realAttack = attack; if (usingItem) { realAttack *= 2; } print("$name์ด(๊ฐ) ${monster.name}์๊ฒ $realAttack์ ๋ฐ๋ฏธ์ง๋ฅผ ์ ํ์ต๋๋ค.\n"); monster.hp -= (realAttack - monster.defense); } }๐ฌ ์ฐ์ ์์ดํ ์ 1ํ์ฑ ์ฌ์ฉ์ ์ํด
hasItem์์ดํ ์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธ,usingItem์ง๊ธ ์์ดํ ์ ์ฌ์ฉํ ์ํ์ธ์ง ํ์ธํ๋ ๋ณ์๋ฅผ ๋ง๋ค์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ณต๊ฒฉ๋ ฅ์ 1ํ์ฑ์ผ๋ก ์ฆ๊ฐํด์ผ๋๊ธฐ ๋๋ฌธ์var realAttack = attack;์ ์ ์ธํ์ฌ, ์์ดํ ์ ์ฌ์ฉํ ์ํ์ผ ๊ฒฝ์ฐ 2๋ฐฐ๋ก ํ์ฌ ๋ฐ๋ฏธ์ง๋ฅผ ์ฃผ๋๋ก ๊ตฌํํ์๋ค.
๐
game.dartprint("ํ๋์ ์ ํํ์ธ์ (1: ๊ณต๊ฒฉ, 2: ๋ฐฉ์ด, 3: ์์ดํ ์ฌ์ฉ) : "); . . else if (action == "3") { if (character.hasItem) { character.hasItem = false; character.usingItem = true; print("์์ดํ ์ ์ฌ์ฉํ์์ต๋๋ค!"); continue; } else { print("์ด๋ฏธ ์ฌ์ฉํ ์์ดํ ์ ๋๋ค."); continue; } . . character.usingItem = false;๐ฌ ํ๋ ์ ํ์ง๋ฅผ ๋๋ ธ๋๋ฐ 3๋ฒ ์์ดํ ์ ์ฌ์ฉํ๋ฉด ์ฐ์ 1ํ์ฑ ์์ดํ ์ ์ฌ์ฉํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๊ณ , ์ฌ์ฉํ์ง ์์๋ค๋ฉด ์์ดํ ์์ ์ฒ๋ฆฌ์ ํจ๊ป ์์ดํ ์ฌ์ฉ ์ํ๋ก ๋ฐ๊พผ๋ค.
๊ทธ๋ฆฌ๊ณ ์์ดํ ์ ์ฌ์ฉํ๋ค๋ฉด ํ๋์ ์ ํํ๋๋ก ํ๊ณ , ๋ง์ฝ ์์ดํ ์ ์ฌ์ฉํ๋๋ฐ ๋ค์ ์ ๋ ฅํ๋ค๋ฉด ์์ดํ ์ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ํ๋ค.
๐ฌ ์์ดํ ์ฌ์ฉ ์ ํด์ ๋์ด๊ฐ์ง ์๋๋ฐ, ๊ณต๊ฒฉ๋ ฅ 2๋ฐฐ ์์ดํ ์ ์ฌ์ฉํ๊ณ , ์๋ํด ํ์ ๋ด๊ฐ ๊ณต๊ฒฉํ ๊ฒฝ์ฐ ๊ทธ๋ฅ ์์ดํ ์ ์ฌ์ฉํ์ง ์๊ณ ๊ณต๊ฒฉํ๋ ๊ฒ๊ณผ ๋ฐ๋ฏธ์ง๊ฐ ๊ฐ๋ค.
๊ทธ๋์ ์์ดํ ๋ฉ๋ฆฌํธ๋ฅผ ์ํด ํด์ด ๋์ด๊ฐ์ง ์๋๋ก ์ค์ ํ๊ณ , ์ค์๋ก ์์ดํ ์ฌ์ฉ์ฌ๋ถ๋ฅผ ๋ชฐ๋ผ์ ์ฌ์ฉํ๋ค๊ณ ์ ๋ ฅํด๋ ํด์ด ๋์ด๊ฐ์ง ์๊ณ , ์์ดํ ๋ ์ฌ์ฌ์ฉ๋์ง ์๋๋ก ํ๋ค.
์์ดํ ์ ํํด๋์ ์ง์๋๊ธฐ ๋๋ฌธ์ ์ค์๋ก ์์ดํ ์ ์ฌ์ฉํ๊ณ ๊ณต๊ฒฉ์ ํ์ง ์๋๋ผ๋ ์์ดํ ์ฌ์ฉ๊ณผ ํจ๊ป ํํด์ด ์ง๋๋ฉด ์์ดํ ๋ฒํ๊ฐ ์ฌ๋ผ์ง๊ฒ ๊ตฌํํ์๋ค.
๐ ๋ชฌ์คํฐ ๋ฐฉ์ด๋ ฅ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ
๐game.dartvar counter = 0; . . /// 3ํด๋ง๋ค ๋ฐฉ์ด๋ ฅ ์ฆ๊ฐ counter++; if (counter == 3) { counter = 0; monster.defense += 2; print('${monster.name}์ ๋ฐฉ์ด๋ ฅ์ด ์ฆ๊ฐํ์ต๋๋ค! ํ์ฌ ๋ฐฉ์ด๋ ฅ: ${monster.defense}'); }๐ฌ ์ฐ์ 3ํด๋ง๋ค ์ฆ๊ฐํ๊ธฐ ์ํด
counter๋ผ๋ ๋ณ์๋ก ํด์ ์ธ๊ณ , 3ํด์ด ๋๋ฉด ์นด์ดํธ๋ 0์ผ๋ก ์ด๊ธฐํ์ํค๊ณ ๋ชฌ์คํฐ์ ๋ฐฉ์ด๋ ฅ์ 2๋งํผ ์ฆ๊ฐํ๊ฒ ํ๋ค.
์ด๋ถ๋ถ์ ์บ๋ฆญํฐ ๋ฐฉ์ด ๋ฉ์๋์ฒ๋ผ ๋ชฌ์คํฐ ๋ฐฉ์ด ๋ฉ์๋๋ก ํ ์๋ ์์ง๋ง, ์ฐ์ ์นด์ดํธ๊ฐ ํ์ํ๊ณ ์ด ๋ณ์๋ ํด๋ง๋ค ์ฆ๊ฐํด์ผ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ ์กด์ฌํด์ผํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ชฌ์คํฐ ๋ฐฉ์ด๋ ฅ ์ฆ๊ฐ๋ ํฌ๊ฒ ๋ณต์กํ์ง ์์ ์ฝ๋์ด๊ธฐ ๋๋ฌธ์ ๊ฒ์์ ํ๋ฆ ํ์ ์ด ์ฝ๊ฒgame.dart์ ๊ตฌํํ์๋ค.
โ Dart RPG Console Game
๐ฎ ํฐ๋ฏธ๋ ๊ธฐ๋ฐ์ ๊ฐ๋จํ ํ ์คํธ RPG ๊ฒ์
โ๏ธ ์ง์ ์บ๋ฆญํฐ์ ๋ฅ๋ ฅ์น์ ๋ชฌ์คํฐ์ ์ข ๋ฅ ๋ฐ ๋ฅ๋ ฅ์น๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํ์ฌ ์ ์ฉํ ์ ์์ต๋๋ค.
โ๏ธ ํ๋ ์ด์ด๋ ์ด๋ฆ์ ์ค์ ํ๊ณ , ๋ฑ์ฅํ๋ ๋ชฌ์คํฐ์ ์ ํฌ๋ฅผ ํตํด ๊ฒ์์ ์งํํฉ๋๋ค.
๐ ์ฃผ์ ๊ธฐ๋ฅ
- ์บ๋ฆญํฐ ์ด๋ฆ์ ์ ๋ ฅ๋ฐ์ ๊ฒ์ ์์
- CSV ํ์ผ๋ก๋ถํฐ ์บ๋ฆญํฐ ๋ฐ ๋ชฌ์คํฐ ๋ฅ๋ ฅ์น ๋ถ๋ฌ์ค๊ธฐ
- ๋๋คํ ๋ชฌ์คํฐ ๋ฑ์ฅ
- ์ฌ์ฉ์ ์ ๋ ฅ์ ํตํ ํ๋ ์ ํ
- ์ ํฌ ๊ฒฐ๊ณผ ์ถ๋ ฅ
- ๋ชฌ์คํฐ ์ฒ์น ํ ๋ค์ ์ ํฌ ๋ฐ๋ณต
- ๊ฒ์ ์ข ๋ฃ ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ์ ์ฅ
๐๏ธ ํ๋ก์ ํธ ๊ตฌ์กฐ
๐ฆ dart_rpg_game โโโ bin/ โ โโโ main.dart # ๊ฒ์ ์คํ ํ์ผ โโโ lib/ โ โโโ utils.dart # ๊ณตํต ํด๋์ค โ โโโ character.dart # ์บ๋ฆญํฐ ํด๋์ค โ โโโ monster.dart # ๋ชฌ์คํฐ ํด๋์ค โ โโโ game.dart # ์ ์ฒด ๊ฒ์ ์งํ โ โโโ data.dart # CSV ๋ถ๋ฌ์ค๊ธฐ ๋ฐ ์ ์ฅ โโโ test/ โ โโโ test.dart # ๋จ์ ํ ์คํธ โโโ data/ โ โโโ characte.txt # ์บ๋ฆญํฐ ๋ฅ๋ ฅ์น โ โโโ monsters.txt # ๋ชฌ์คํฐ ๋ฆฌ์คํธ โโโ README.md
๐ ์ฌ์ฉ ๋ฐ์ดํฐ ์์
๐ character.txt
100,20,10์ฒด๋ ฅ, ๊ณต๊ฒฉ๋ ฅ, ๋ฐฉ์ด๋ ฅ
๐ monsters.txt
์ฌ๋ผ์,40,10 ๊ณ ๋ธ๋ฆฐ,60,15 ์คํฌ,80,20์ด๋ฆ, ์ฒด๋ ฅ, ๊ณต๊ฒฉ๋ ฅ
๐ ์ ์ฅ ๋ฐ์ดํฐ ์์
๐ result.txt
hayanmini, 20, ์น๋ฆฌ์บ๋ฆญํฐ ์ด๋ฆ, ๋จ์ ์ฒด๋ ฅ, ์ ํฌ ๊ฒฐ๊ณผ
โ๏ธ ์คํ ๋ฐฉ๋ฒ
๐ bin ํด๋ main.dart ํ์ผ ์คํ
dart run bin/main.dart
โ ๊ฒ์ ํ๋ฆ
- ์บ๋ฆญํฐ ์ด๋ฆ ์ ๋ ฅ(์บ๋ฆญํฐ ์์ฑ์ 30% ํ๋ฅ ๋ก ์ถ๊ฐ ์ฒด๋ ฅ ํ๋)
- ๋ชฌ์คํฐ ๋๋ค ๋ฑ์ฅ
- ํ๋ ์ด์ด๊ฐ ๊ณต๊ฒฉ, ๋ฐฉ์ด ๋๋ ์์ดํ ์ฌ์ฉ ์ ํ
- ์ ํฌ ์งํ(์์ดํ ์ฌ์ฉ ์ 1ํด๋์ ๊ณต๊ฒฉ๋ ฅ 2๋ฐฐ, 3ํด๋ง๋ค ๋ชฌ์คํฐ ๋ฐฉ์ด๋ ฅ ์ฆ๊ฐ)
- ๋ชฌ์คํฐ ์ฒ์น ์ ๋ค์ ๋ชฌ์คํฐ ๋ฑ์ฅ
- ์บ๋ฆญํฐ ์ฌ๋ง ๋๋ ์ ํฌ ์ข ๋ฃ ์ ํ ์ ๊ฒ์ ์ข ๋ฃ
- ๊ฒฐ๊ณผ๋ฅผ ํ์ผ์ ์ ์ฅ
๐พ ์์ผ๋ก ์ถ๊ฐํ๋ฉด ์ข์ ๊ธฐ๋ฅ
- ์บ๋ฆญํฐ ํ๋ ์ค ๋๋ง ๊ธฐ๋ฅ
- ์บ๋ฆญํฐ ํฌ๋ฆฌํฐ์ปฌ ๊ณต๊ฒฉ ๊ธฐ๋ฅ
โจ ํ๋ก์ ํธ ๋ชฉ์
- Dart ๋ฌธ๋ฒ ํ์ต ๋ฐ ์ฝ์ ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ ์ฐ์ต
- ํด๋์ค์ ๋ฉ์๋๋ฅผ ํ์ฉํ ํ์ผ ๋ถ๋ฆฌ ์ค์ต
- ํ์ผ ๋ถ๋ฌ์ค๊ธฐ ๋ฐ ์ ์ฅ, ์ ์ถ๋ ฅ ๋ก์ง์ผ๋ก ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ ๊ฐํ
๐ ์ฐธ๊ณ ์๋ฃ
โ ์คํ๋ฅดํ์ฝ๋ฉ Dart ๊ฐ์
โ ๊ณต์ Dart ๋ฌธ์
โ ๋์ ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ
โ๏ธ ์บ๋ฆญํฐ ์ฒด๋ ฅ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ
โ๏ธ ์บ๋ฆญํฐ ์์ดํ ์ฌ์ฉ ๊ธฐ๋ฅ ์ถ๊ฐ
โ๏ธ ๋ชฌ์คํฐ ๋ฐฉ์ด๋ ฅ ์ฆ๊ฐ ๊ธฐ๋ฅ ์ถ๊ฐ
โ README ์์ฑ
โ README ์์
๐ฑ ์ค์ ์ ๋ถ๋ด๋ถ๋ด ๋์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ , README๋ ์์ฑ์ ์๋ฃํด ์ปค๋ฐ ๋ฐ ์ ์ถ์ ์๋ฃํ๋ค.
์๊ฐ์ด ์ข ์์ฌ์์ฌํ๋๋ฐ ์ ์ถํ๊ณ ๋ณด๋ ๋ง๊ฐ 1๋ถ ์ ์ธ๊ฐ ๊ทธ๋ฌ๋๊ฑฐ ๊ฐ๋ค.
๊ณผ์ ๋ฅผ ํ๋ฉด์ ํ๋ก๊ทธ๋จ์ด ๋ด๊ฐ ์ฝ๋ฉํ๋๋ก ์๋ํ๋ ๊ฒ๋ ์ ๊ธฐํ๊ณ , ์๋๋ ์ค๋ฅ๋ถ๋ถ์ ๋ด๊ฐ ์ง์ ํ ์คํธ ํ๋ฉด์ ์ฐพ์์ ๊ณ ์น๋ ๊ฒ๋ ์ฌ๋ฏธ๊ฐ ์์๋ค.
๋ค๋ง ๋์ด๋๊ฐ ์์ ๊ณผ์ ์ ๋นํด ๊ฐ์๊ธฐ ์ด๋ ค์์ง ๊ฒ ๊ฐ์ ์๊ฐ์ด ์ข ์ด๋ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๋ค์ ํด์ค ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ฌ์ฐจ ํ์ธ, ์ฆ ๊ฒ์ฆํ๋ ์๊ฐ๋ ๊ฐ์ง๊ณ ์ฝ๋๋ ๋ด๊ฐ ์ ์ดํดํ๋์ง, ๋ด๊ฐ ์ ์ด๋ ๊ฒ ์์ฑํ์ง ๋ฑ ํ์ธํด๋ณด์๋ค.
์ถ๊ฐ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๊ฐ ์ด๋ ต๊ธฐ๋ ํ๊ณ ์ ์ดํด๊ฐ ์๋์ด์ ์ถ๊ฐ๋ก ์ง์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ฐ์ ๋๋ ค๊ฐ๋ฉด์ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ณด์๋ค.
๊ทธ ์ธ์ ๋ณต์ต ์์ฃผ๋ก ๊ฐ์ธ ํ์ต์ ์งํํ๋ ๊ฒ ๊ฐ๋ค.
๐ ๋ค์์ฃผ๋ ์๋ก์ด ๊ฐ์๊ฐ ์์์ง ๊ถ๊ธํ๋ฐ, ๊ณผ์ ์ ์ถํ๋ฉด์ ๋ณด๋ ๋ค์์๋ ์ฑ ๊ตฌํ? ๊ฐ์ธ ๊ณผ์ ์ธ ๊ฒ ๊ฐ๋ค.
๊ณผ์ฐ ์ํ ์ ์์์ง ๊ฑฑ์ ์ด ๋ง์ด ๋๊ธฐ๋ ํ๊ณ , ์ข ๋ ๊ธฐ์ด๋ฅผ ์๊ณ ์ฌํ ๋ฅ๋ ฅ์ ๊ธฐ๋ฅด๊ณ ์ถ์๋ฐ ์ด๋ป๊ฒ ํ์ต์ ํด์ผํ ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค.
์ฐ์ , ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฉด์ ์ฌ๊ณ ๋ฅผ ์ ์ฐํ๊ฒ ์ฝ๋๋ฅผ ๋ฅ๋์ ์ผ๋ก ๋ค๋ฃฐ์ค ์์์ผํ๋ ๊ฒ์ ๋ง๋ ๊ฒ ๊ฐ์๋ฐ...
์ฌ๋ฅ..? ์ต๋๋ ฅ์ด ์ข์ ๊ฒ๋ ์๋๋ผ์ ๋ ๋ ธ๋ ฅํด์ผ ํ๋ ๋ฌธ์ ์ธ๋ฐ, ์ด ๋ ธ๋ ฅ์ ์ด๋ ๋ฐฉํฅ์ผ๋ก ์๋๋๊ฐ ์ค์ํ ๊ฒ ๊ฐ๋ค.
๊ทธ๋๋ ์ง๊ธ ์๊ฐํด๋ณด๋ฉด ์ ๋ฒ์ฃผ ๊ณผ์ ๊ฐ ์ง๊ธ์ ํด๋ณด๋ผ๊ณ ํ๋ฉด ์ฌ์ธ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
๊ทธ๋ฐ๊ฑธ ๋ณด๋ฉด ์ค๋ ฅ์ด ์กฐ๊ธ์ฉ์ ํฅ์๋๊ณ ์๋ค๋ ์ฆ๊ฑฐ๊ฐ ์๋๊น ์ถ๋ค ๐