Small Grey Outline Pointer CodeUp c++ 1410 : 올바른 괄호 1 (괄호 개수 세기)
본문 바로가기
Dev./Algorithm Prac

CodeUp c++ 1410 : 올바른 괄호 1 (괄호 개수 세기)

by sso. 2022. 4. 3.

소괄호로 이루어진 문자열을 주어지면 괄호의 개수를 출력하는 프로그램을 작성하시오.

 

 

#include <stdio.h>
#include <string.h>

int main() {
	// ( 40 
	// ) 41
	char a[100001];
	int cnt = 0;
	int cnt2=0;
	int end;

	gets(a);
	//printf("%s", input);

	end = strlen(a);
	for (int i = 0; i < end; i++) {
		if (a[i]==40) {
			cnt++;
		}
		else if (a[i] == 41) {
			cnt2++;
		}
	}


	printf("%d %d", cnt, cnt2);

}

((()
3 1

 

()()()((((((
9 3

 

 


처음에 배열을 a[100000] 으로 설정해서 오류 발생
buffer overflow detected:버퍼 오버플로우, 문자열이 배열보다 긴지 확인하세요.
 
배열의 끝인 null(\0) 문자까지 포함해야하기 때문에 a[100001] 로 설정해야 한다
 
 
 
아스키코드를 이용
( = 40
) = 41
 
 
 
for문으로 문자열 끝까지 돌릴 때 
아스키코드 40에 해당할 때 마다 cnt++
아스키코드 41에 해당할 때 마다 cnt2++

 

728x90

댓글