Coding Test/항해99 - 코테 스터디 2기
99클럽 코테 스터디 3일차 TIL(5월 23일) + 자료구조 Stack
holajjm
2024. 5. 23. 23:50
오늘은 문제 풀이를 성공하지 못했다.
문제의 구성을 보고 스택 자료구조 형태를 떠올리고 나름대로 구현을 했지만 디테일한 valid 조건 검사를 하지 못한 것 같다.
문제에서 사용되는 괄호들을 한 쌍으로 묶어 객체 형태로 저장하고, 스택을 구현할 빈 배열 하나를 생성하였다.
주어진 문자열을 for...of
문을 사용하여 순회하며 FILO에 맞게 스택에 쌓고 빼며 객체의 key: value 쌍을 이용하여 비교하는 작업을 수행하였다.
테스트 케이스를 추가하고 경우의 수를 더 생각하여 코드를 수정해 정답을 맞출 계획이다.
/**
* @param {string} s
* @return {boolean}
*/
var isValid = function(s) {
const obj = {'(':')','{':'}','[':']'};
const answer = [];
if(s.length % 2 === 1){ return false}
else{
for(const value of s){
if(obj[value]){ answer.push(value)}
else if(answer.length === 0 && obj[value] == false){return false}
else if(obj[answer.pop()] === value){return true}
else if(obj[answer.pop()] !== value){return false}
}
}
if(answer.length !== 0){return false}
};