https://programmers.co.kr/learn/courses/30/lessons/12973
function solution(s)
{
var answer = -1;
var arr = s.split("");
var tmpArr = []
for(var i = 0; i < arr.length; i++){
if(arr[i] == arr[i+1]){
arr.splice(i, 1);
arr.splice(i, 1);
i = -1;
}
}
arr.length == 0 ? answer = 1 : answer = 0;
return answer;
}
- s 모든 글자를 쪼개어 arr변수에 배열 저장
- for문을 arr크기만큼 돌린다.
-> i가 0일 땐, tmpArr 배열에 push
-> i가 1이상일 땐,
해당 글자가 tmpArr 마지막 글자와 같으면 tmpArr.pop()
해당 글자가 tmpArr 마지막 글자와 다르면 tmpArr에 현재 값 push()- for문이 끝나고 tmpArr 길이가 0보다 크면 answer 0
for문이 끝나고 tmpArr 길이가 0이면 answer 1- answer값 return
function solution(s)
{
var answer = -1;
var arr = s.split("");
var tmpArr = [];
for(var i = 0; i < arr.length; i++){
if(i > 0){
if(tmpArr[tmpArr.length - 1] == arr[i]){
tmpArr.pop();
}
else{
tmpArr.push(arr[i]);
}
}
else{
tmpArr.push(arr[i]);
}
}
tmpArr.length == 0 ? answer = 1 : answer = 0;
return answer;
}
짝지어서 하는 문제들을 여러번 풀어본 결과 배열과 pop push로 풀어야 가장 간단하고 효율성에도 문제가 발생하지않는다.