Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 1] 16 - ์ค‘๋ณต๋ฌธ์ž์ œ๊ฑฐ

_์„ฑํ˜ธ_ 2022. 9. 5. 10:48
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๋ฌธ์ œ

์†Œ๋ฌธ์ž๋กœ ๋œ ํ•œ๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋˜๋ฉด ์ค‘๋ณต๋œ ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ œ๊ฑฐ๋œ ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋Š” ์›๋ž˜ ๋ฌธ์ž์—ด์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค.

 

๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž๋“ค์„ ๋น„๊ตํ•˜๋ฉด์„œ ํ’€์ดํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ Set ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“ ํ’€์ด

// includes() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ
function solution(s) {
  let answer = '';

  for (let x of s) {
    if (!answer.includes(x)) answer += x;
  }

  return answer;
}
console.log(solution('ksekkset'));
// indexOf() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์ฝ”๋“œ
function solution(s) {
  let answer = '';

  for (let i = 0; i < s.length; i++) {
    if (i === s.indexOf(s[i])) {
      answer += s[i];
    }
  }

  return answer;
}
console.log(solution('ksekkset'));

 

๐Ÿ”ฅ ์ถ”๊ฐ€ ํ’€์ด

// Set ์ž๋ฃŒ๊ตฌ์กฐ ์‚ฌ์šฉ
function solution(s) {
  let answer = '';

  answer = [...new Set(s.split(''))].join('');

  return answer;
}
console.log(solution('ksekkset'));