효율성검사 2번때문에 당황 했던 문제.
문제 자체는 어렵지않다.
배열을 하나 생성해주고
s를 쭉 순회하면서 배열에 담아준다. 그러면서 생성한 배열의 마지막 값과 현재 순회중인 s의 요소 값이 같으면 배열의 마지막 값을 pop해주고 다르면 현재값을 push해준다.
function solution(s)
{
let tmp =[]
let arr = [...s];
if(s.length % 2!==0) return 0
for(let cur of s){
if(tmp[tmp.length-1] === cur){
tmp.pop()
}else{
tmp.push(cur)
}
}
return !tmp.length ? 1 : 0;
}
그리고 만약에 그 배열이 비어있으면 1을 리턴 하나라도 남아있으면 0을 리턴해주면된다.
여기서 효율성검사에서 걸리게되는데
시작할 때 s.length가 홀수면 바로 0을 리턴하면 된다.
어차피 홀수개면 하나는 남기때문에..결국 0이니까
'알고리즘' 카테고리의 다른 글
[백준 / 2164 / node.js] 카드 2 javascript (0) | 2021.09.22 |
---|---|
[백준 / 1929 / nodejs] 소수구하기 javascript (0) | 2021.08.24 |
[백준 / 1920/ nodejs] 수찾기 javascript (0) | 2021.08.24 |
[백준/nodejs/1085] 직사각형에서 탈출 javascript (0) | 2021.08.11 |
[프로그래머스] 거리두기 확인하기 javascript (0) | 2021.08.10 |
댓글