오늘 푼 문제는요~
이 문제입니닷!
사실 이 문제는 옛날부터 손만 대고 한 번도 못 풀었던 문제인데요.....
친구가 이걸 풀어서 어제 친구 코드를 보고 이해한 다음에 오늘 풀어보았던 문제입니닷.
스택 또는 큐를 이용해야 한다고 했는데 어떻게 이용해야 하는지 감이 전혀 안 왔지만 친구 코드를 보니 아하! 했습니다.
function solution(s){
var answer = [];
for(let i of s) {
if(i === '(') answer.push(i);
else {
if(answer.length === 0) return false
answer.pop();
}
}
if(answer.length != 0) return false
return true;
}
우선 answer 를 배열로 지정해주고 s 를 돈 다음 여는 괄호면 이걸 answer 배열에 넣어줬어여!
근데 만약 열린 괄호가 먼저 안 들어가서 길이가 0이다. 그럼 당연히 형식에 올바르지 않으므로 바로 false 를 리턴해 줍니다.
만약 열린 괄호가 있다면 그걸 다시 빼 와요! 이런 식으로 코드를 돌리면 올바른 괄호일 경우는 true 가 딱 나옵니다.
그럴 때 true 를 return 해 주면 돼요!
오늘의 코테도 끗~!