ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
์ํ๋ฒณ ๋๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ ๋ฌธ์๊ฐ ์ฐ์์ผ๋ก ๋ฐ๋ณต๋๋ ๊ฒฝ์ฐ ๋ฐ๋ณต๋๋ ๋ฌธ์ ๋ฐ๋ก ์ค๋ฅธ์ชฝ ๋ฐ๋ณต ํ์๋ฅผ ํ๊ธฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์์ด์ ์์ถํ๊ณ ์ ํ๋ค.
(๋จ ๋ฐ๋ณต ํ์๊ฐ 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));
'์๊ณ ๋ฆฌ์ฆ > ํ๊ทธ ๋ณ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ค์ง์ ์์ (0) | 2021.06.01 |
---|---|
์๋ฆฟ์์ ํฉ (0) | 2021.05.31 |
๊ฐ์ฅ ์งง์ ๋ฌธ์๊ฑฐ๋ฆฌ (0) | 2021.05.18 |
์ซ์๋ง ์ถ์ถ (0) | 2021.05.17 |
์ ํจํ ํฐ๋ฆฐ๋๋กฌ (0) | 2021.05.16 |