ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ

ํ˜„์ˆ˜๋Š” 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));
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ