일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- @test
- @Spring-Test
- java
- @AspectJ
- SpringJDBC
- Spring JDBC
- Framework
- XML
- spring aop
- Linux
- 리눅스
- Di
- Spring Boot
- 컨테이너
- AOP
- 마이바티스
- myBatis
- JDBC TEMPLATE
- 프로퍼티
- java spring
- JdbcTemplate
- POJO
- STS
- Dependency Injection
- pointcut
- spring
- unix
- spring framework
- Ubunt
- @JUnit
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