Jieunny์˜ ๋ธ”๋กœ๊ทธ

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ™์€ ๊ธ€์ž ๋ณธ๋ฌธ

Study/Coding Test

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ™์€ ๊ธ€์ž

Jieunny 2023. 1. 27. 10:45

๐Ÿ“Œ ๋ฌธ์ œ

๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, s์˜ ๊ฐ ์œ„์น˜๋งˆ๋‹ค ์ž์‹ ๋ณด๋‹ค ์•ž์— ๋‚˜์™”์œผ๋ฉด์„œ, ์ž์‹ ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณณ์— ์žˆ๋Š” ๊ฐ™์€ ๊ธ€์ž๊ฐ€ ์–ด๋”” ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, s="banana"๋ผ๊ณ  ํ•  ๋•Œ,  ๊ฐ ๊ธ€์ž๋“ค์„ ์™ผ์ชฝ๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ฝ์–ด ๋‚˜๊ฐ€๋ฉด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • b๋Š” ์ฒ˜์Œ ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ์•ž์— ๊ฐ™์€ ๊ธ€์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” -1๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • a๋Š” ์ฒ˜์Œ ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ์•ž์— ๊ฐ™์€ ๊ธ€์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” -1๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • n์€ ์ฒ˜์Œ ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ์•ž์— ๊ฐ™์€ ๊ธ€์ž๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” -1๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • a๋Š” ์ž์‹ ๋ณด๋‹ค ๋‘ ์นธ ์•ž์— a๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 2๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • n๋„ ์ž์‹ ๋ณด๋‹ค ๋‘ ์นธ ์•ž์— n์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” 2๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • a๋Š” ์ž์‹ ๋ณด๋‹ค ๋‘ ์นธ, ๋„ค ์นธ ์•ž์— a๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘ ๊ฐ€๊นŒ์šด ๊ฒƒ์€ ๋‘ ์นธ ์•ž์ด๊ณ , ์ด๋Š” 2๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ์€ [-1, -1, -1, 2, 2, 2]๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ž์—ด s์ด ์ฃผ์–ด์งˆ ๋•Œ, ์œ„์™€ ๊ฐ™์ด ์ •์˜๋œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜ solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

๐Ÿ’ก ์•„์ด๋””์–ด

s ํ•˜๋‚˜ํ•˜๋‚˜ ๋Œ๋ฉด์„œ ๊ฐ ์š”์†Œ์˜ ์œ„์น˜๋ณด๋‹ค ์•ž์— ์žˆ๋Š” ์• ๋“ค๋งŒ for๋ฌธ ๋˜ ๋Œ๋ฆฐ๋‹ค.

๋‚˜๋ž‘ ๊ฐ™์€ ์•  ๋งŒ๋‚˜๋ฉด Here ๋ณ€์ˆ˜๋ฅผ i-j๋กœ ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค.

 

โœ๏ธ ํ’€์ด

function solution(s) {
  var answer = [];
  let isHere = 0;

  for(let i=0; i<s.length; i++){
      let notHere = true;
    for(let j=0; j<i; j++){
      if(s[i] === s[j]){
        notHere = false;
        isHere = i-j;
      }
    }
    if(notHere === true){
      answer.push(-1);
    }
    else{
      answer.push(isHere);
    }
  }
  return answer;
}

โžฐ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์— ์ฝ”๋“œ ์˜ฎ๊ธธ ๋•Œ console.log ๊นŒ์ง€ ์˜ฎ๊ธฐ๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๋‹ˆ๊นŒ ํ•ญ์ƒ ๋ณด๊ณ  ์˜ฎ๊ธฐ์ž