https://www.acmicpc.net/problem/4949
(21.08.30)
4949번: 균형잡힌 세상 - C언어 풀이
[소스코드]
#pragma warning(disable:4996)
#include <stdio.h>
#include <string.h>
// [baekjoon] 4949번 - 균형잡힌 세상
// https://sirius7.tistory.com/
int main() {
char s[105];
char ck[105] = { 0 };
gets(s);
while (strcmp(s,".")) {
int cnt_s = 0;
int cnt_l = 0;
int n = 0;
for (int i = 0; i < strlen(s); i++) {
if (s[i] == '(') {
ck[n] = '(';
n++;
}
else if (s[i] == '[') {
ck[n] = '[';
n++;
}
else if (s[i] == ')') {
if (ck[n - 1] == '(') {
n--;
}
else {
n = -10;
i = strlen(s);
}
}
else if (s[i] == ']') {
if (ck[n - 1] == '[') {
n--;
}
else {
n = -10;
i = strlen(s);
}
}
}
if (n == 0) printf("yes\n");
else printf("no\n");
gets(s);
}
}
문제를 풀면서 공부했던 내용은
문자열을 비교하는 함수 strcmp다.
strcmp(lhs,rhs) 와 같이 사용하고, 사전 순으로 lhs와 rhs를 비교하여
문자열 lhs < rhs이면 음수,
문자열 lhs == rhs이면 0,
문자열 lhs > rhs이면 양수를 반환한다.
'학습 정리 > 👨💻 PS Study' 카테고리의 다른 글
[C] 백준 1100번 - 하얀 칸 (0) | 2022.07.09 |
---|---|
[C] 백준 1759번 - 암호 만들기 (0) | 2022.07.08 |
[C] 백준 1929번 - 소수 구하기 (에라토스테네스의 체) (0) | 2022.07.08 |
[C] 백준 10951번 - A+B-4 (EOF 개념) (0) | 2022.07.08 |
[C] 백준 1283번 - 단축키 지정 (0) | 2022.07.08 |