๐ section04 - 3 - ๋ฉํ ๋ง(bruteForce)
์กฐ๊ธ ์ด๋ ค์ด ๋ฌธ์ ์๋ค. bruteForce
๋ก ํ์ด์ผ ํ๋ ๊ฒ์ ์๊ณ ์์์ง๋ง, ์ด๋ค ํ๋ฆ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์ด์ผ ํ ์ง ๊ณ ๋ฏผ์ด ๋ง์๋ค. ๊ฐ์๋ฅผ ๋ดค๋๋ฐ๋ ์ดํด๊ฐ ์ ์ ๋ผ์ ๋ณต์ต์ ์ฌ๋ฌ ๋ฒ ํ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ๋ฌธ์ ์ ํต์ฌ์ n
๋ช
์ ํ์์ด ๊ฐ๊ฐ์ ๊ฒฝ์ฐ์ m
๋ฒ์ ์ํ ์ฑ์ ๋ชจ๋ mento
์ mentee
๊ฐ ๋ ์ ์๋ ์กฐ๊ฑด์ด ๋ง๋์ง ์ฐพ์์ผ ํ๊ณ , ๊ทธ ์์์ ์ํ ๋ฑ์๋ฅผ ๋ํ๋ด๋ idx
๋ฅผ ๊ณ ๋ คํด์ mentoIdx < menteeIdx
์ธ ์กฐ๊ฑด์ ์ฐพ์ ์ ์๋์ง ๋ฌผ์ด๋ณด๋ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค. ๋, mento
์ mentee
๋ ๊ฐ์ ํ์์ผ ๋๋ ์ฑ๋ฆฝํ์ง ์์์ ์์์ผ ํ๋ค.
๊ฐ์์์ 4 ์ค๋ฐ ๋ณต๋ฌธ์ผ๋ก ํ์๋๋ฐ, ๋ฐ๋ณต๋ฌธ์ ๊ฐ์๊ฐ ๋ง๋ค ๋ณด๋๊น ํท๊ฐ๋ ค์ ์ํ ์ฑ์ ์ด m
๊ฐ๊ฐ ์๋ ๋ฑ 1๊ฐ๋ง ์ฃผ์ด์ก์ ๋๋ฅผ ๊ฐ์ ํ๊ณ ํ์ด๋ดค๋ค. ๋ค์์ ์ฌ์ง์ฒ๋ผ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ตฌํด๋ณด๊ณ ์ฝ๋๋ฅผ ์์ฑํ๋๊น ์กฐ๊ธ ์ดํด๊ฐ ๋๋ค.
let arr = [3, 4, 1, 2];
let n = 4;
let m = 1;
let cnt = 0;
for (let x = 1; x <= n; x++) {
for (let y = 1; y <= n; y++) {
let mentoIdx = menteeIdx = 0;
for (let i = 0; i < n; i++) {
if (x === y) continue;
if (arr[i] === x) mentoIdx = i;
if (arr[i] === y) menteeIdx = i;
}
if (mentoIdx < menteeIdx) {
cnt++;
console.log(x, y);
}
}
}
console.log(cnt);
๐๐ฝ
1 2
3 1
3 2
3 4
4 1
4 2
6
์ํ ์ฑ์ ์ 2์ฐจ์ ๋ฐฐ์ด์ด ๋ค์ด๊ฐ์ ๋๋ ์์์ ์์ฑํ ์ฝ๋์์ ํฌ๊ฒ ๋ฒ์ด๋์ง ์๋๋ค. ๋ค๋ง, mento
, mentee
์ ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๋ ค๋ฉด ๋ชจ๋ ์ํ ์ฑ์ ์์ mento
๊ฐ ๋ ์์์ผ ํ๋ฏ๋ก cnt
๊ฐ m
๊ณผ ๋์ผํ๋ค๋ ์กฐ๊ฑด์ ๊ฑธ์ด์ค์ผ ํ๋ค. ์ ์ฒด ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
let arr = [[3, 4, 1, 2], [4, 3, 2, 1], [3, 1, 4, 2]];
let n = 4;
let m = 3;
console.log(solution(n, m, arr));
function solution(n, m, arr){
let ans = 0;
for (let x=1; x<=n; x++){
for (let y=1; y<=n; y++){
let cnt = 0;
for (let i=0; i<m; i++){
let mento = mentee = 0;
for (let j=0; j<n; j++){
if (x===y) continue;
if (arr[i][j] === x) mento = j;
if (arr[i][j] === y) mentee = j;
}
if (mento < mentee) cnt++;
}
if (cnt === m) ans++;
}
}
return ans;
}
๋๊ธ