inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Jolly Jumper 문제에서 질문 하나만 드립니다

203

수강생

작성한 질문수 1

0

반복문 안에서 두 수의 차이를 비교하는 부분인 int pos = abs(prev - num)을, prev처럼 따로 변수를 만들지 않고  저는 배열을 만들어 입력받게 했는데요, int pos = abs(jolly[i] - jolly[i-1]) 처럼 말입니다. 

이렇게 하면 5번 케이스에서 시간초과 오류가 나는데 혹시 이유를 알 수 있을까요? 저 부분 빼고는 모두 동일한데 왜 저렇게 하면 타임리미트가 되는지 궁금합니다. C++에서 배열 계산이 원래 느린편인가요?

cin >> jolly[0];
for(int i = 1; i < N; i++){
	cin >> jolly[i];
	int pos = abs(jolly[i] - jolly[i - 1]);	// 타임에러 부분
        // 이하 생략
}

C++ 코테 준비 같이 해요!

답변 4

0

수강생

그럼 제 컴퓨터 문제였군요. 답변 감사합니다 :)

0

김태원

제 컴퓨터에서는 100점이 나옵니다.

0

수강생

main 내부의 코드입니다. 시간초과가 나거나 이번에는 exit_code 에러가 뜨기도 하네요. check배열이 반드시 vector로 만들어져야 할까요?

int main() {
	freopen("input.txt", "rt", stdin);
	ios_base::sync_with_stdio(false); 
	
	int N;
	int jolly[101] = {0};
	bool check[101] = {false}; 
	cin >> N;

	cin >> jolly[0];
	for(int i = 1; i < N; i++){
		cin >> jolly[i];
		int tmp = abs(jolly[i] - jolly[i - 1]);		
		if(check[tmp] == true || tmp > N || tmp == 0){
			cout << "NO";
			exit(0);
		}
		else check[tmp] = true;
	}
	cout << "YES";

}

0

김태원

안녕하세요^^

제 코드와 큰 차이는 없어보입니다.

제 컴퓨터에서 채점해보게 전체코드를 올려보세요.

테스트 케이스 질문

0

372

1

병합정렬 시간복잡도 질문

0

461

1

41.연속된 자연수의 합 문제풀이에서 수학적인 원리를 모르고 있습니다.

0

1343

2

질문드립니다.

0

375

1

질문드립니다!

0

429

1

dev 프로그램 질문

0

275

1

문제가 이해가 안되요

0

375

1

4번 나이차이 문제 접근법 질문 드립니다.

0

306

1

source file not compiled

0

1043

3

59번 질문드립니다.

0

371

1

25번 문제 질문

0

348

1

4. 나이차이 문제 질문입니다.

0

371

1

90번 라이언 킹 심바 1번 테스트 케이스

0

469

1

71번 문제 전역 변수 질문 있습니다

0

364

1

75번, 79번 priority_queue관련

1

354

1

75.최대 수입 스케줄

0

399

2

복면산 정답의 수

0

430

1

테스트 케이스에 대해서

0

444

1

수업 내용 질문입니다!

1

231

1

풀어보면 좋은 문제 목록 - 2580 스토쿠 DFS 질문입니다!!

0

821

2

12. 플로이드-와샬(그래프 최단거리) . 27:25초

0

253

1

다른 풀이 방식

0

316

1

크루스칼 vs 프림

0

305

1

숫자 총개수 small 질문있습니다.

0

241

1