ํ๋ก๊ทธ๋๋จธ์ค LV.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์ ์์ด ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
s | result |
---|---|
"banana" | [-1, -1, -1, 2, 2, 2] |
"foobar" | [-1, -1, 1, -1, -1, -1] |
function solution(s) {
let answer = [-1] // ๋งจ์ฒ์์ ๋น๊ต๋์์ด ์๊ธฐ์ ๋ฌด์กฐ๊ฑด -1์
for (let i = 1; i < s.length; i++){
for(let j= i - 1; j >= 0; j--){
if (s[j] == s[i]) {
answer.push(i-j)
// ํ์ฌ ์์น - ๋์ผํ ๋ฌธ์์ ์์น๋ก ์์น์ ์ฐจ์ด๋ฅผ ๊ตฌํ๋ค.
break // ๋ฐ๋ก ๋ฐ๋ณต๋ฌธ์ ๋์จ๋ค.
}else if(j == 0){
answer.push(-1) // 0 ๊น์ง ๊ฐ๋๋ฐ๋ ์๋๊ฑฐ๊ธฐ์ -1๋ฐํ
}
}}
return answer
}