inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

24. Jolly Jumpers

이 코드는 왜 YES만 Success인가요?

212

메구밍

작성한 질문수 11

0

안녕하세요.
선생님.

영상도 참고하면서 제 방식대로 조금 짜봤는데 잘 안되서 여쭤봅니다.

#include <bits/stdc++.h>
using namespace std;

int n, res = 0;
int a[101];
int main() {
	
	cin >> n;
	vector<int> ch(n);
	for(int i = 0; i < n; i++) {
		cin >> a[i];
	}
	
	for(int i = 0; a[i]!='\0'; i++) {
		res = abs(a[i]-a[i+1]);
		if( res > 0 && res < n && ch[res] == 0 ) {
			ch[res] = 1;
		}
	}
	               // 이 부분입니다.
	for(int i = 0; ch[i] != '\0'; i++) {
		if(ch[i] == 0) {
			cout << "NO";
			return 0;
		}
	}
	
	cout<<"YES";
	
	return 0;
}

3번째 for문에서 i < n을 하면 NO부분에서만 success가 뜨고 위와 같이 하면 Yes부분에서만 Success가 뜹니다.

도움부탁드리겠습니다.

감사합니다.

 

 

c++ 코딩-테스트

답변 1

1

김태원

안녕하세요^^

'\0' 으로 끝지점을 정하는 탐색은 문자열을 탐색할 때 그렇게 합니다. 배열을 탐색할 때는 배열의 길이로 탐색을 하세요.

세 번째 for문은 0부터가 아니라 1부터 시작해야 합니다. ch[0]값은 무조건 0입니다.

아래 코드는 위 코드를 수정한 코드입니다.

#include <bits/stdc++.h>
using namespace std;

int n, res = 0;
int a[101];
int main() {
	
	cin >> n;
	vector<int> ch(n);
	for(int i = 0; i < n; i++) {
		cin >> a[i];
	}
	
	for(int i = 0; i < n - 1; i++) {
		res = abs(a[i]-a[i+1]);
		if( res > 0 && res < n && ch[res] == 0 ) {
			ch[res] = 1;
		}
	}
	               // 이 부분입니다.
	for(int i = 1; i < n; i++) {
		if(ch[i] == 0) {
			cout << "NO";
			return 0;
		}
	}
	
	cout<<"YES";
	
	return 0;
}

 

0

메구밍

오 선생님 감사합니다. 즐거운 일요일 되세요!!!

87번 채점 프로그램에 오류가 있는 것 같습니다.

0

89

2

그리디 파트

0

115

2

안녕하세요. 선생님(54번 코드 관련 문의)

0

141

2

테스트 파일 exit_coe_1, time_limit_exceeded 질문

0

143

1

C언어로 코드를 짜면 채점 시에 한 문제 빼고 시간 초과가 발생하는데 해결하는 방법이 있을까요?

0

172

1

19번 질문있습니다

0

123

1

6번 관련 채점오류입니다

0

88

2

22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?

0

166

2

dev C++ 콘솔창 바로 닫힘

0

245

1

최신화하기

0

171

1

채점이 안되요...

1

261

1

안녕하세요 강사님 정렬에 대해서 설명이 조금 더 듣고 싶습니다.

0

113

1

45번 공주구하기 문제를 list를 이용해서 이렇게 풀어도 될까요?

0

155

1

39번 두 배열 합치기 문제 채점 오류인가 코드 오류인가

0

155

0

채점기에서 틀렸다고 나오는데 이유를 모르겠습니다.

0

149

2

해당 강의에서 C언어로만 진행하는 강의 문의 건

0

145

2

87번 문제 섬나라 아일랜드 질문

0

128

1

16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.

0

149

1

40번 교집합 문제

0

166

1

43번 뮤직비디오 문제 테스트케이스 4번을 만족 못합니다.

0

170

1

41. 연속된 자연수의 합 문제 질문있습니다.

0

165

1

질문있습니다.

0

193

2

시간초과가 나요

0

172

1

43번 문제 3 ~ 5번에 문제가 있는것 같습니다.

0

247

1