개발 공부
(프로그래머스)(자바스크립트) 괄호 회전하기 본문
코딩테스트 연습 - 월간 코드 챌린지 시즌2 - 괄호 회전하기 (약 30분 소요)
//특정 입력값 로깅을 위한 변수
var isLogging = false;
function solution(s) {
var answer = 0;
//if(s == "}]()[{"){
//isLogging = true;
//console.log("isLogging = "+isLogging);
//}
for(var i = 0 ; i < s.length ; i++){
if(omit(s)){
//console.log("touched");
answer ++;
}
var temp = s.charAt(0); //charAt 찾아봄
s = s.slice(1)+temp; //slice 찾아봄
}
return answer;
}
var tempCount = 0;
function omit(ss){
ss = ss.replace("[]",""); //ss = 빼먹음
ss = ss.replace("{}","");
ss = ss.replace("()","");
//if(isLogging){
//console.log("ss ::: "+ ss);
//console.log("ss.length ::: "+ ss.length);
//}
if(ss.length > 0 && tempCount != ss.length){
tempCount = ss.length; //tempCount 처럼 무식하게 하지 않고 for문으로 ss의 length/2 만큼만 돌려주고 0이 되면 break 하면 됨. 모든 괄호가 없어지더라도 최대 length/2안에 결정 남.
//omit(ss); //이렇게만 하면 들어가다 true 떠도 다시 나와서 기존 ss length와 비교한다. 아래처럼 바로 return 해줘야함.
if(omit(ss)){
return true;
}
}
tempCount = 0;
//if(isLogging){
//console.log(ss.length == 0 ? true: false);
//}
return ss.length == 0 ? true: false;
}
'알고리즘' 카테고리의 다른 글
(프로그래머스)(자바스크립트) n진수 게임 (0) | 2021.07.16 |
---|---|
(프로그래머스)(자바스크립트 )압축 (0) | 2021.07.16 |
(프로그래머스)(자바스크립트)파일명 정렬 (0) | 2021.07.09 |
(프로그래머스)(자바스크립트) 베스트앨범 (0) | 2021.07.07 |
(프로그래머스)(자바) 위장 (0) | 2021.07.07 |
Comments