๐Ÿ›ต Training

Dayยท2022๋…„ 4์›” 15์ผ
0

const getPrefix = strs => {
  let str = strs[0];
  
  if(!str) return '';

  let value = '';

  for(let i=0;i<strs.length;i++) {
    value += str[i];
    
    for(j=0;j<strs.length;j++) {
      if(!strs[j].includes(value)) {
        return value.substring(0,i)
      }
    }
  }
  return value;
}

๋ฐ˜๋ณต๋ฌธ ์ค‘์ฒฉ ํ†ตํ•ด์„œ, ๋ฐฐ์—ด ์•ˆ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ test ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์‘์šฉํ•˜๊ธฐ ์ข‹์œผ๋‹ˆ๊นŒ ์ตํ˜€๋‘์ž

function romanToNum(s) {
 const rom = {
   'I': 1,
   'V': 5,
   'X': 10,
   'L': 50,
   'C': 100,
   'D': 500,
   'M': 1000
};
 const strs = s.split("").map((item) => rom[item]);
console.log(strs);
 let item = 0;
 for (let i = 0; i < strs.length; i++) {
   if (strs[i] < strs[i + 1]) {
     item -= strs[i];
     console.log('๋งˆ์ด๋„ˆ์Šค',item)
   }else {
     item += strs[i];
       console.log(item)
   }
 }
return item
}

๊ฐ์ฒด ์ด์šฉํ•ด์„œ ๋‹ด๋Š” ๊ณผ์ •์ด ์ง„์งœ ์ข‹๋‹ค.
์•ž์—์„œ๋ถ€ํ„ฐ ๋ญ”๊ฐ€๋ฅผ ํ• ๋•Œ๋Š” ๋ˆ„์ ๊ฐ’ ์“ฐ๋Š”๊ฒŒ ์ œ์ผ ์‰ฌ์šด ๊ฑฐ ๊ฐ™๋‹ค.


์ค‘๋ณต์„ธ๊ธฐ ํ™œ์šฉํ•˜๋Š” ๋ฌธ์ œ.


const nums = [1,1,1,2,2,3];
function topK(num, k) {
const countMap = new Map();
  let array =[] ;
  let result =[];
  //์ˆซ์ž๋ณ„ ๋“ฑ์žฅ ํšŸ์ˆ˜ -> ์ค‘๋ณต๋˜๋Š” ์ˆซ์ž๋งŒ ๋ณผ์ˆ˜์žˆ์œผ๋‹ˆ๊นŒ
  //๋งŒ์•ฝ set์— ์—†์œผ๋ฉด 1์„ ๋”ํ•ด์ฃผ๊ณ  ์•„๋‹ˆ๋ฉด 0์„ ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰
  for(let i =0; i<num.length;i++){
  countMap.set(num[i],(countMap.get(num[i])||0)+1) }
  //entries arrat.from ์ด์šฉํ•ด๋ณด๊ธฐ
  // ๋ฐฐ์—ด ๊ธธ์ด๊ฐ€ ํ•˜๋‚˜๋ฉด ๊ทธ๋ƒฅ ๋ฐ”๋กœ ๋ฆฌํ„ด
  if (num.length ===1&& k===1) {
    return num;
  } else {
  //k๋ž‘ map์‚ฌ์ด์ฆˆ ๊ฐ™์œผ๋ฉด ํ‚ค๋งŒ ๋ฐ”๋กœ ์•„๋‹ˆ๋ฉด ํ‚ค๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋งŒ๋“ค์–ด์ด์šฉ
  // ํ‚ค ๋‚ด๋ฆฝ์ฐจ์ˆœ์œผ๋กœ ํ•˜๋Š”๊ฑฐ ์ฐพ์Œ!
  const sortedNumDesc = new Map([...countMap].sort((a, b) => b[1] - a[1]));
 if (countMap.size===k){
      return [...countMap.keys()]
    }else {
      array=[...sortedNumDesc.keys()]
    for (let j = 0; j<k ; j++){
      result.push(array[j])
    }return result
    }
    }
  }
 topK(nums)

map ์“ฐ๋Š” ์ด์œ ๋Š” key ๊ฐ’๋งŒ ๋ถ€๋ฅผ ์ˆ˜๋„ ์žˆ๊ณ , ํ‚ค๊ฐ’์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑด๋ฐ, ํ‚ค๊ฐ’ ๋‚ด๋ฆผ์ฐจ์ˆœ๋งŒ ํ•  ์ค„ ์•Œ๋ฉด array.entries ์จ๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค .

0๊ฐœ์˜ ๋Œ“๊ธ€