TIL # 46 [Algorithms] 04. isValid()
문제
s는 여러 괄호들로 이루어진 String 인자입니다.
s가 유효한 표현인지 아닌지 true/false로 반환해주세요.
종류는 '(', ')', '[', ']', '{', '}' 으로 총 6개 있습니다.
아래의 경우 유효합니다.
한 번 괄호를 시작했으면, 같은 괄호로 끝내야 한다.
괄호 순서가 맞아야 한다.
예를 들어 아래와 같습니다.
s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
해결 방법
- let matching을 통해 로마자를 정의해준다.
제출코드
function isValid(s) {
let arr = s.slice();
for (let i = 0; i < s.length/2; i++){
for (let j = 0; j < s.length-1; j++){
let match = arr[j]+arr[j+1];
if ( (match === "()") || (match === "{}") || (match === "[]")){
arr= arr.replace(arr[j], "").replace(arr[j+1],"");
}
}
}
if (arr === "") {
return true
} else {
return false
}
}
Author And Source
이 문제에 관하여(TIL # 46 [Algorithms] 04. isValid()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@peng0code/TIL-46-Algorithms-03.-isValid저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)