** 이 글을 읽음에 앞서 포스팅 된 소스가 100% 정답은 아님을 밝힙니다.
더욱 유능한 분께서 클린 / 최적의 소스를 짜셨을 가능성이 높습니다.
기록용으로 남기며, 참고만 부탁드립니다.
** 백준 알고리즘은 직접 풀이를 해보시는 것을 권장합니다.
● 문제
난이도[티어] : LEVEL 2
프로그래머스 올바른 괄호
https://school.programmers.co.kr/learn/courses/30/lessons/12909
● 풀이 방법
괄호가 짝지어져 있는지와 활호 닫힘')' 이 유효한 위치에 있는지를 판단하면 되는 문제이다.
● 소스 코드
class Solution {
boolean solution(String s) {
int validation = 0;
for(int i = 0; i < s.length(); i++){
char ch = s.charAt(i);
if(ch == '(')
validation++;
else
validation--;
if(validation < 0)
return false;
}
if(validation == 0)
return true;
return false;
}
}
괄호가 열려 있을 때, validation 값을 증가,
괄호가 닫히면, validation값을 감소 시키는 방식으로
괄호가 올바른지 판단하도록 소스코딩을 하였으며,
validation값이 음수로 전환되는 순간이 있는지 ( 괄호가 열리지도 않았는데 닫아 버리는 상태 체크 )
최종 연산 후 validation값이 0이 아닌지 ( 괄호가 열려있는 상태로 연산이 끝났을 경우 )
를 한번 더 체크하여 결과값을 반환해준다.
사용한 메서드
str.charAt(index)
public char charAt(int index)
참조 : https://www.w3schools.com/java/ref_string_charat.asp
● 결과
'프로그래머스 > JAVA11' 카테고리의 다른 글
[프로그래머스 | JAVA ] LV. 2 : JadenCase 문자열 만들기 (0) | 2024.07.22 |
---|---|
[프로그래머스 | JAVA ] LV. 2 : 최댓값과 최솟값 (0) | 2024.07.21 |
[프로그래머스 | JAVA ] LV. 1 : 부족한 금액 계산하기 (0) | 2024.07.17 |
[프로그래머스 | JAVA ] LV. 0 : 옹알이 (1) (0) | 2024.07.05 |