728x90
반응형
scanf
더보기
# include <stdio.h>
/*
문자열 30글자 이하로 입력.
입력 예 (())(), ((()())()))), )(())(, ((())())())(, (((())((((())((((())))))))))
출력 예 YES, NO, NO, NO, YES
그리고 결과는 Yes, No로 출력
*/
int main(){
char a[31]; // 문자열 30
int flag = 0;
int i;
scanf("%s",&a); // ()입력
for(i = 0; i<30; i++)
{
if(a[i] == '(')
flag++;
else if(a[i] == ')')
flag--;
else
continue;
if(flag<0)
break;
}
if(flag==0)
printf("Yes");
else
printf("No");
}
getchar
더보기
// 올바른 괄호
// 괄호가 입력되면 올바른 괄호이면 "YES", 올바르지 않으면 "NO"를 출력한다.
// (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.
// 입력 설명
// 첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다.
// 출력 설명
// 첫 번째 줄에 YES, NO를 출력한다.
# include <stdio.h>
int main(){
char input[31]; // 문자열 최대 길이는 30
int sum = 0;
int i=0;
while((input[i]=getchar())!='\n')
{
if(input[i] =='(')
{
sum++;
}
else if(input[i] == ')')
{
sum--;
}
if(sum < 0)
{
break;
}
i++;
}
if(sum==0)
{
printf("YES\n");
}
else if(sum!=0)
{
printf("NO\n");
}
}
문제 출처 : 인프런 it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비
728x90
반응형
최근댓글