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

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐ™์€ ๋ฌธ์ž๊ฐ€ ์—ฐ์†์œผ๋กœ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž ๋ฐ”๋กœ ์˜ค๋ฅธ์ชฝ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ž์—ด์„ ์••์ถ•ํ•˜๊ณ ์ž ํ•œ๋‹ค.

(๋‹จ ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ 1์ธ ๊ฒฝ์šฐ ์ƒ๋žตํ•œ๋‹ค)

 

๋ฌธ์ œํ’€์ด

๋ฌธ์ž๊ฐ€ ๋ฐ˜๋ณต๋˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฒ˜์Œ ๊ธฐ์ค€์ด ๋˜๋Š” ๋ฌธ์ž๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๊ณต๋ฐฑ ๋ฌธ์ž flag๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ค€๋‹ค.๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ flag์˜ ๋ฌธ์ž์™€ ๊ฐ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๋น„๊ตํ•ด ์ค€๋‹ค.

 

๋งŒ์•ฝ flag์˜ ๋ฌธ์ž์™€ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋ฐ˜๋ณต ๋œ ํšŸ์ˆ˜๋ฅผ ์ฆ๊ฐ์‹œ์ผœ์ค€๋‹ค. ์ด๋•Œ ์ตœ์ข…์ ์œผ๋กœ ์ด ๋ฐ˜๋ณต ํšŸ์ˆ˜๋งŒ์„ ์ถœ๋ ฅํ•ด์ค˜์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ›„์† ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์ง€ ์•Š๊ณ  ๋ฐ˜๋ณต ๋œ ํšŸ์ˆ˜๋งŒ์„ ๊ณ„์† ์ค‘์ฒฉ์‹œ์ผœ ์ค€๋‹ค.

 

๋งŒ์•ฝ flag์˜ ๋ฌธ์ž์™€ ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๊ฐ™์ง€ ์•Š๋‹ค๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ์ค‘์ฒฉํ–ˆ๋˜ ์ด ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋จผ์ € ์ •๋‹ต ๋ณ€์ˆ˜์— ์ ์žฌํ•ด์ค€ ๋’ค ์ง€๊ธˆ๊นŒ์ง€ ์ค‘์ฒฉ์‹œ์ผœ๋‘” ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ๋‹ค์‹œ 1๋กœ ์ดˆ๊ธฐํ™” ํ•ด์ค€๋‹ค.๋ฐ˜๋ณตํšŸ์ˆ˜๊ฐ€ 1์ธ ๊ฒฝ์šฐ๋Š” ์ƒ๋žตํ•ด๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ํ˜„์žฌ๊นŒ์ง€์˜ ์ด ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ 1์„ ๋„˜์—ˆ์„ ๊ฒฝ์šฐ์—๋งŒ ์œ„์˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด์ค€๋‹ค.

 

๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ํ•ด๋‹น ๋ฌธ์ž ๋ฐ”๋กœ ์˜ค๋ฅธ์ชฝ์— ํ‘œ๊ธฐํ•ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•ž์„  ์—ฐ์‚ฐ ์ดํ›„์— ์ƒˆ๋กœ์šด ๋ฌธ์ž๋ฅผ ์ •๋‹ต ๋ณ€์ˆ˜์— ์ ์žฌํ•ด ์ค€๋‹ค.

์ด์–ด์„œ flag ๋ณ€์ˆ˜๋ฅผ ์ƒˆ๋กœ์šด ๋ฌธ์ž๋กœ ๋‹ค์‹œ ์ดˆ๊ธฐํ™” ํ•ด์ฃผ์–ด ๋ฐ˜๋ณตํšŸ์ˆ˜์— ๋Œ€ํ•œ ๊ธฐ์ค€์ ์„ ์ƒˆ๋กญ๊ฒŒ ์ •๋ฆฝ์‹œํ‚จ๋‹ค.

 

์ฝ”๋“œ

function solution(str) {
  let answer = '';
  let flag = '';
  let count = 1;

  for(let i = 0; i < str.length; i++) {
    if(flag === str[i]) {
      count++;
    } else {
      if(count > 1) {
        answer += String(count);
        count = 1
      }
      answer += str[i];
      flag = str[i];
    }
  }

  return answer;
}

console.log(solution("KKHSSSSSSSE"));

 

๋ฌธ์ œํ’€์ด2

๊ธฐ์ค€์ ์ด ๋˜๋Š” flag ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด์ฃผ์ง€ ์•Š๊ณ  ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค ์š”์†Œ ๊ฐ„์— ๋น„๊ต๋ฅผ ํ†ตํ•ด์„œ๋„ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์˜ ์š”์†Œ์ธ(๋ฌธ์ž์—ด s๋ผ๊ณ  ๊ฐ€์ •) s[i]๋Š” ๊ทธ ๋‹ค์Œ ์ธ๋ฑ์Šค ์š”์†Œ์ธ s[i+1]๊ณผ ๋น„๊ต๋ฅผ ํ•ด์•ผ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋•Œ  s[i+1]์€ ํ•ด๋‹น ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค ๋ฒ”์œ„๊ฐ’์„ ๋„˜์–ด์„œ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ•  ์ˆ˜๊ฐ€ ์—†์–ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์ด๋ฅผ ์œ„ํ•ด ํ•ด๋‹น ๋ฌธ์ž์—ด์˜ ๋๋‹จ์— ๊ณต๋ฐฑ ๋ฌธ์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ˆ˜ํ–‰ ํ•  ๋ฐ˜๋ณต๋ฌธ์˜ ๋ฒ”์œ„๋ฅผ (๋ฌธ์ž์—ด - 1)๋กœ ํ•œ์ •์‹œ์ผœ ์ค€๋‹ค.

 

์ฝ”๋“œ

function solution(s){
                let answer="";
                let cnt=1;
                s=s+" ";
                for(let i=0; i<s.length-1; i++){
                    if(s[i]===s[i+1]) cnt++;
                    else{
                        answer+=s[i];
                        if(cnt>1) answer+=String(cnt);
                        cnt=1;
                    }
                }
                return answer;
            }
            
            let str="KKHSSSSSSSE";
            console.log(solution(str));
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
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
๊ธ€ ๋ณด๊ด€ํ•จ