์์ ํ์์ด๋ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ํ์ํ๋ฉฐ ์กฐ๊ฑด์ ์ถฉ์กฑ๋๋ ๊ฒฐ๊ณผ๋ง ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฒ์ด๋ค.
โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ์ฅ์
์๊ณ ๋ฆฌ์ฆ์ ์ค๊ณํ๊ณ ๊ตฌํํ๊ธฐ๊ฐ ์ฝ๋ค.
๋ชจ๋ ๋ฒ์๋ฅผ ๋ค ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ฌด์กฐ๊ฑด ์ ๋ต์ ์ฐพ์ ์ ์๋ค.
๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ ์์ด ๋น ๋ฅด๊ฒ ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค.
โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ๋จ์
์ธ๋ ฅ๊ฐ์ด ์ปค์ง ๊ฒฝ์ฐ, ์๊ณ ๋ฆฌ์ฆ์ ์คํ ์๊ฐ์ ๋งค์ฐ ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค.
๋ฉ๋ชจ๋ฆฌ์ ํจ์จ๋ฉด์์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค.
โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ์ข ๋ฅ
- ์ ํ ๊ตฌ์กฐ : ์์ฐจ ํ์
- ๋น์ ํ ๊ตฌ์กฐ : ๋ฐฑํธ๋ํน, DFS, BFS
โ๏ธ ๋ธ๋ฃจํธ ํฌ์ค ์์ ๋ฌธ์
์๋์ ๊ฐ์ ์ซ์๋ฐฐ์ด์ด ์กด์ฌํ ๋, ์ซ์์ ๊ฐ์๋ฆฟ์์ ํฉ์ด ๊ฐ์ฅ ํฐ ์๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ์.
(๋จ, ๊ฐ ์๋ฆฟ์์ ํฉ์ด ๊ฐ๋ค๋ฉด, ๊ธฐ์กด ์ซ์๊ฐ ๋ ํฐ ๊ฐ์ ์ถ๋ ฅ -> 345, 543์ด๋ผ๋ฉด 543์ ์ถ๋ ฅ)
let arr = [134, 245, 345, 543, 163]
const solution = (cnt, arr) => {
let idx = 0;
let max = 0;
for (let i = 0; i < cnt; i++) {
let num = arr[i];
let sum = 0;
while (num) {
sum += num % 10;
num = ~~(num / 10);
}
console.log(sum);
if (max < sum || (max === sum && arr[idx] < arr[i])) {
idx = i;
max = sum;
}
}
return arr[idx];
};
let arr = [134, 245, 345, 543, 163];
console.log(solution(7, arr));
์ฐธ๊ณ
https://foreverhappiness.tistory.com/104
[์๊ณ ๋ฆฌ์ฆ - ๊ธฐ์ด] ์์ ํ์, ๋ธ๋ฃจํธ ํฌ์ค (Brute Force)
์์ ํ์, ๋ธ๋ฃจํธ ํฌ์ค๋ ๋ฌด์์ธ๊ฐ? ๋ธ๋ฃจํธ ํฌ์ค๋ฅผ ์ฌ์ ์ ์๋ฏธ๋ก ์ฐพ์๋ณธ๋ค๋ฉด ์๋์ ๊ฐ๋ค. ๋ธ๋ฃจํธ(Brute) : ๋ฌด์ํ + ํฌ์ค(Force) : ํ ์ฆ, ๋ฐ์ํ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋ฌด์ํ๊ฒ ํ์ํ๋ค๋ ๋ป์ด๋ค.
foreverhappiness.tistory.com