일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 부트
- springSecurity
- input태그
- 시큐리티로그인
- security
- JAVA11
- java
- Spring boot
- 목록
- 시큐리티 로그아웃
- css
- 시큐리티 로그인
- codingtest
- javascript
- gradle
- 코딩테스트
- springboot
- StyleSheet
- sql
- 반복문
- 리눅스
- 2차원배열
- 로그인
- programmers
- Linux
- 시큐리티
- 싱글톤
- 소스트리
- 프로그래머스
- html
Archives
- Today
- Total
JAVAIARY
프로그래머스) lv.2 올바른 괄호 본문
문제: https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
public class CorrectBracket {
boolean solution(String s) {
boolean answer = true;
if (s.startsWith(")")|| s.endsWith("(") || s.length() % 2 != 0) {
// ),( 로 시작/끝나거나 s의 길이가 홀수이면 false 리턴
answer = false;
} else {
// countA : ( 의 개수
// countB : ) 의 개수
int countA = 0;
int countB = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '(') { // "" : String , '' : char
countA += 1;
} else {
countB += 1;
}
if(countB > countA) {
answer = false;
break;
}
}
}
return answer;
}
}
- stack / queue 카테고리인데 사용하지는 않음 ㅎ....
1차 유효성 체크
- ) 로 시작할 경우
- ( 로 끝난 경우
- 문자열 길이가 홀수인 경우
—> false리턴
2차 유효성 체크
- 여는 괄호와 닫는 괄호의 개수를 각각 체크
- 여는괄호 ‘(’ 보다 닫는 괄호 ‘)’ 가 많은 경우 반복문 중에 빠져나옴
- 반복 종료후 여는 괄호와 닫는 괄호의 갯수가 같지 않은 경우
—> false 리턴
code review in study
'examplePractice' 카테고리의 다른 글
프로그래머스 ) 최댓값과 최솟값 (0) | 2023.02.18 |
---|---|
프로그래머스) lv.1 약수의 개수와 덧셈 (0) | 2023.01.30 |
함수 (0) | 2022.12.15 |
반복문, 배열 (0) | 2022.10.02 |
반복문, 배열 (0) | 2022.10.02 |