일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Linux
- @AspectJ
- Spring JDBC
- XML
- spring
- POJO
- spring framework
- unix
- 마이바티스
- java spring
- spring aop
- java
- Di
- 컨테이너
- @JUnit
- AOP
- JDBC TEMPLATE
- Spring Boot
- @test
- SpringJDBC
- STS
- @Spring-Test
- myBatis
- Dependency Injection
- Framework
- JdbcTemplate
- Ubunt
- 프로퍼티
- pointcut
- 리눅스
Archives
- Today
- Total
개키우는개발자 : )
[자바 알고리즘] 올바른 괄호 본문
반응형
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'
| 문제
괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.
| 입력설명
괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다
| 출력설명
YES, NO를 출력한다.
| 입력 예제
(()(()))(()
| 출력 예제
NO
| 풀이
'(' = +1 , ')' = -1 이런식으로 쌍이 맞으면 결국엔 (())() = 0 의 값이 나오며 (()())) = -1 즉 0보다 작은 값이 나올 경우 올바른 쌍이 아니다.
import java.util.Scanner;
public class Test8 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] a = str.toCharArray();
int i,cnt=0;
for(i=0; i<a.length; i++){
if(a[i] == '(') cnt++;
else if(a[i] == ')') cnt--;
if(cnt<0) break;
}
if(cnt == 0) System.out.printf("YES\n");
else System.out.printf("NO\n");
}
}
반응형
'Algorithm Programming > Java' 카테고리의 다른 글
[알고리즘 자바] 자릿수의 합 (0) | 2020.01.09 |
---|---|
[자바 알고리즘] 모두의 약수 (제한시간 1초) (0) | 2020.01.09 |
[자바 알고리즘] 영어단어 복구 (0) | 2020.01.08 |
[자바 알고리즘] 숫자만 추출 (0) | 2020.01.08 |
[자바 알고리즘] 나이 계산 (0) | 2020.01.07 |
Comments