오늘은 문제 풀이를 성공하지 못했다.
문제의 구성을 보고 스택 자료구조 형태를 떠올리고 나름대로 구현을 했지만 디테일한 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}
};
'Coding Test > 항해99 - 코테 스터디 2기' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL(5월 26일) + 알고리즘 정렬 (0) | 2024.05.26 |
---|---|
99클럽 코테 스터디 5일차 TIL(5월 25일) + 자료구조 Array (0) | 2024.05.25 |
99클럽 코테 스터디 4일차 TIL(5월 24일) + 자료구조 Heap (0) | 2024.05.24 |
99클럽 코테 스터디 2일차 TIL(5월 22일) + 자료구조 Stack (0) | 2024.05.22 |
99클럽 코테 스터디 1일차 TIL(5월 21일) + 자료구조 Hash (0) | 2024.05.21 |