ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ฐ์ต๋ฌธ์ > ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์
๐ฉ ๋ฌธ์ ์ค๋ช
๋ฌธ์์ด 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์ ์์ฑํด์ฃผ์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ 1 โค s์ ๊ธธ์ด โค 10,000
โ s์ ์์ด ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(s) {
let answer = ""; // s์ ์ํ๋ฒณ๋ค์ ํ ๊ธ์์ฉ ๋ฃ์ด์ค ๋น ๋ฌธ์์ด
let answer2 = [];
for(i=0; i<s.length; i++){
if(answer.includes(s[i])){ // ์ค๋ณต๋ ์ํ๋ฒณ์ ๋ง์ฃผ์น ๊ฒฝ์ฐ
answer2.push(i - answer.lastIndexOf(s[i])) // ๊ฐ์ฅ ๊ฐ๊น์ด ์ค๋ณต๋ ์ํ๋ฒณ๊ณผ์ ๊ฑฐ๋ฆฌ
answer += s[i]
} else { // ์ค๋ณต๋์ง ์์ ๊ฒฝ์ฐ
answer += (s[i]); answer2.push(-1)
}
}
return answer2;
}
์ฌ๋ฌ๋ถ!! ์ ๊ฐ ์ด ๋ฌธ์ ๋ฅผ 100๋ช ๋ ์ ๋์ ๋ ํ์์ด์!! ๊ต์ฅํ์ฃ ?? ์ฌ์ค ์๋ฃํ ์ฌ๋์ด ์๋๋ผ ๋์ ํ ์ฌ๋ ์ 100๋ช ์ผ๋ก ๋ณด๊ณ , ์ ๋ต๋ฅ ์ด 0%๊ธธ๋ 1๋น ์ธ ์ค ์๊ณ ์ ๋์ ์ง์คํ๋๋ฐ 100๋ช ์ด ์ด๋ฏธ ์๋ฃํ ์ฌ๋์ด์๋๊ตฐ์... ์ ๋ต๋ฅ ์ด ๋ฎ์ ๋ฐ๋๋ฐ๋ํ ๋ฌธ์ ๋ฅผ ํ๋ฉด ์ ์ ๋ฐ๊ธฐ์ ์ข๋ค๋ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ด์ ์ด์ฌํ ํ์ด๋ดค๋๋ฐ ๊ทธ๊ฒ๋ ์๋์์ด์. ๊ทธ๋ฅ ์์ ๊ธฐ๋ถ์ด๋ค์. ์๋ฌดํผ ๋๊ฒ ํท๊ฐ๋ฆฌ๋ ๋ฌธ์ ์์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(s) {
var answer = Array(s.length).fill(-1);
for (let i = s.length - 1; i > 0; i--){
for (let j = i - 1; j >= 0; j--){
if (s[i] == s[j]){
answer[i] = i-j;
break;
}
}
}
return answer;
}
์ฝ๋ ๋ชจ์์๊ฐ ๊น๋ํด ๋ณด์ฌ์ ๊ฐ์ ธ์์ต๋๋ค. -1์ด๋ผ๋ ์์๋ก ๊ฐ๋ ์ฐฌ ๋ฐฐ์ด์ ๋จผ์ ๋ง๋ค๊ณ ,
s ๋ฌธ์์ด์ ๋ค์์๋ถํฐ ์
์
์ด ํํค์ณค๋ค์. ๊ฐ์ ๋ฌธ์์ด์ ๋ง์ฃผ์น๋ฉด -1 ์์๋ฅผ ์ธ๋ฑ์ค์ ์ฐจ๋ก ๋ฐ๊ฟ์ฃผ์์ต๋๋ค. ์์๋ค์.
ํ๋ก๊ทธ๋๋จธ์ค ์์ ํ๊ณ ํฌํด ํด์ผ ํ๋๋ฐ... ์ํด
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : 2016๋ (2) | 2022.12.12 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ช ์์ ์ ๋น (1) (5) | 2022.12.08 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (5) | 2022.12.07 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํธ๋ ํ์ดํธ ๋ํ (4) | 2022.12.07 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (3) | 2022.12.05 |
๋๊ธ