작성자 없음
작성자 정보가 삭제된 글입니다.
코딩테스트 실전 모의고사(with C++) : 대기업 대비
4. 모든 쌍의 괄호 코드 해설(DFS)
해결된 질문
작성
·
315
1
안녕하세요.
궁금한 점이 있어서 질문드립니다!
c++로 된 코드를 c로 바꿔서 작성하려고 하는데
#include<string.h> 선언 후에 string으로 넘겨서
출력하면 값이 이상하게 떠서요. 혹시 c로 바꿔서 출력하려고 하면 어떻게 코드를 짜야할까요..??
답변 1
0
안녕하세요^^
이상하게 출력되는 실제 풀 코드를 텍스트 형태로 올려주세요.
아 넵넵 구글링해서 이제 정상적으로 나오는데
밑에 코드 말고 다르게 출력하는 방법이 있을까요??
#include<stdio.h>
#include<string>
using namespace std;
int n, cnt = 0;
const char * c;
void DFS(int s, int e, string res) {
c = res.c_str();
if (s > n || e > n || e > s) return;
if (s == n && e == n) {
printf("%s\n", c);
cnt++;
}
else {
DFS(s + 1, e, res + '(');
DFS(s, e + 1, res + ')');
int main() {
scanf("%d", &n);
DFS(0, 0, "");
printf("%d", cnt);
return 0;
네. 저도 c_str()로 알고 있습니다. 잘 하셨네요.
아 넵넵 구글링해서 이제 정상적으로 나오는데
밑에 코드 말고 다르게 출력하는 방법이 있을까요??
#include<stdio.h>
#include<string>
using namespace std;
int n, cnt = 0;
const char * c;
void DFS(int s, int e, string res) {
c = res.c_str();
if (s > n || e > n || e > s) return;
if (s == n && e == n) {
printf("%s\n", c);
cnt++;
}
else {
DFS(s + 1, e, res + '(');
DFS(s, e + 1, res + ')');
}
}
int main() {
scanf("%d", &n);
DFS(0, 0, "");
printf("%d", cnt);
return 0;
}