ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
ํ์๋ 1๋ถํฐ 100์ฌ์ด์ ์์ฐ์๊ฐ ์ ํ N์ฅ์ ์นด๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค (๊ฐ์ ์ซ์์ ์นด๋๊ฐ ์ฌ๋ฌ์ฅ ์์ ์ ์๋ค). ํ์๋ ์ด ์ค 3์ฅ์ ๋ฝ์ ๊ฐ ์นด๋์ ์ ํ ์๋ฅผ ํฉํ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๊ธฐ๋กํ๋ ค๊ณ ํ๋ค.๊ธฐ๋กํ ๊ฐ ์ค K๋ฒ์งธ๋ก ํฐ ์๋ฅผ ์ถ๋ ฅํ๊ณ ์ ํ๋ค.
๋ฌธ์ ํ์ด
1. ์ธ ๊ฐ์ ์๋ฅผ ๋ฝ์ ๋ค ํฉ์ฐ ํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ 3์ค for๋ฌธ์ ์ด์ฉํ๋ค.
์ด๋ ์๊ธฐ ์์ ์ ๋ฝ์์ผ ๋๋ ์ ์ค ์ ์ธํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค์ฒฉ for๋ฌธ ๋ด์ ์ด๊ธฐ ์ธ๋ฑ์ค๊ฐ์ ์ด์ for๋ฌธ ๋ด์ ์ด๊ธฐ ์ธ๋ฑ์ค ๊ฐ์ 1์
๊ฐ์ฐํด ์ค๋ค.
2. 3๋ฒ์งธ๋ก ํฐ ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด์ ํฉ์ฐ ํ ๋ชจ๋ ๊ฒฐ๊ณผ๊ฐ์ ๋ํ ๋ฐฐ์ด์ ๋ํด์ ๋ฐ๋ณต๋ฌธ์ ์ํํด ์ค๋ค.
์ด๋ ๊ธฐ์ค์ด ๋ ๊ฐ์ฅ ๋งจ ์์ ๊ฐ์ด ๋ฐฐ ์ด ๋ด์์ ์ต๋๊ฐ์ด ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ด์นจ์ฐจ์์ผ๋ก ์ ๋ ฌํด ์ค๋ค.
์ต๋๊ฐ๋ณด๋ค ์์ ๊ฒฝ์ฐ ์๋ณ ๋ณ์ cnt๋ฅผ ๊ฐ์ฐํด์ค๋ค. ๊ฐ์ฐ ๋ cnt์ k(=3)์ ๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ ํด๋น ์ธ๋ฑ์ค์ ์๋ฅผ ์ ๋ต ์ฒ๋ฆฌํ๋ค.
์ฝ๋
function solution(arr) {
let answer= 0;
let sumArr = [];
let max = Number.MIN_SAFE_INTEGER;
let cnt = 1;
for(let i = 0; i < arr.length; i++) {
for(let j = i + 1; j < arr.length; j++) {
for(let z = j + 1; z < arr.length; z++) {
let sum = 0;
sum = arr[i] + arr[j] + arr[z];
sumArr.push(sum);
}
}
}
sumArr.sort((a, b) => b - a);
for(let i = 0; i < sumArr.length; i++) {
if(max < sumArr[i] && cnt === 1) {
max = sumArr[i];
}
else if(max > sumArr[i]) {
cnt++;
if(cnt === 3) {
answer = sumArr[i];
}
}
}
return answer;
}
let arr = [13, 15, 34, 23, 45, 65, 33, 11, 26, 42];
console.log(solution(arr));
๋ฌธ์ ํ์ด2
1. k๋ฒ์งธ ํฐ ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด์ for๋ฌธ์ ํ๋ฒ ๋ ์ํํ์ง ์๊ธฐ ์ํด ์ค๋ณต๋์ง ์์ ์๋ฃ๊ตฌ์กฐ์ธ Set ๊ฐ์ฒด๋ฅผ ํ์ฉํ์ฌ ๋ด๋ฆผ์ฐจ์๋ง์ผ๋ก k๋ฒ์งธ(์ธ๋ฑ์ค[k - 1])๋ก ํฐ ์๋ฅผ ๊ตฌํ ์ ์๋ค.
์ฝ๋
function solution(n, k, card){
let answer;
let tmp = new Set();
for(let i=0; i<n; i++){
for(let j=i+1; j<n; j++){
for(let k=j+1; k<n; k++){
tmp.add(card[i]+card[j]+card[k]);
}
}
}
let a=Array.from(tmp).sort((a, b)=>b-a);
answer=a[k-1];
return answer;
}
let arr=[13, 15, 34, 23, 45, 65, 33, 11, 26, 42];
console.log(solution(10, 3, arr));
'์๊ณ ๋ฆฌ์ฆ > ํ๊ทธ ๋ณ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ]๊ณตํต์์ ๊ตฌํ๊ธฐ (0) | 2021.07.02 |
---|---|
[ํฌํฌ์ธํฐ ์๊ณ ๋ฆฌ์ฆ]๋ ๋ฐฐ์ด ํฉ์น๊ธฐ (0) | 2021.07.02 |
[์์ ํ์]์กธ์ ์ ๋ฌผ (0) | 2021.06.04 |
[์์ ํ์]๋ฉํ ๋ง (0) | 2021.06.03 |
๋ค์ง์ ์์ (0) | 2021.06.01 |