728x90
반응형
소스코드
#include<iostream>
#include<stdio.h>
#include<string>
#include<string.h>
using namespace std;
int N, answer;
int chk[300];
string friends;
void initData();
void chkFriends();
int main(int argc, char** argv)
{
int test_case;
/*
여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
*/
for (test_case = 1; test_case <= 10; ++test_case)
{
initData();
chkFriends();
printf("#%d %d\n", test_case, answer);
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
void chkFriends() {
int cnt = 0;
for (int i = 0; i < friends.size()-1; i++) {
if (chk[i] == 1)continue;
chk[i] = 1;
cnt++;
int flag = 0;
for (int j = i + 1; j < friends.size(); j++) {
if (friends[i] == 40) {
if (chk[j] == 0 && friends[i] == friends[j] - 1) {
cnt++;
chk[j] = 1;
flag = 1;
break;
}
}
else {
if (chk[j] == 0 && friends[i] == friends[j] - 2) {
cnt++;
chk[j] = 1;
flag = 1;
break;
}
}
}
if (flag == 0) {
answer = 0;
break;
}
if (cnt == N)break;
}
}
void initData() {
N = 0; answer = 1;
memset(chk, 0, sizeof(chk));
scanf("%d", &N);
cin >> friends;
}
설계
- 사실 그냥 짝이 있는지 검사 한것이라 어려운것 없었음
- 원래는 제대로 하려면 스택으로 해야함 내생각이지만
실수
- ()의 경우 -1 차이 나는것 제대로 체큰 안한 실수
- chk를 0으로 초기화 안한 실수 함
문제 링크
원본
728x90
반응형
'알고리즘 모음집 > New 알고리즘' 카테고리의 다른 글
2021.11.10_7829-보물왕태혁 (0) | 2021.11.10 |
---|---|
2021.11.09_7701-염라대왕의이름정렬 (0) | 2021.11.09 |
2021.11.07_8673-코딩토너먼트1 (0) | 2021.11.08 |
2021.11.06_1217-거듭제곱 (0) | 2021.11.08 |
2021.11.05_1225암호생성기 (0) | 2021.11.08 |
댓글