인프런 커뮤니티 질문&답변

요가인님의 프로필 이미지
요가인

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

5-C

5-C 시간초과 질문있습니다.

해결된 질문

작성

·

118

0

먼저 강사님이 5-A에서 설명하신 코드 대로 똑같이

A,C를 풀 경우 맞습니다가 되고

A에서 저만의 방식으로 문제 푼 것에 대해서는 맞았다고가 되는데

C에서도 똑같이 저만의 방식 --> A에서 푼 방법으로 했을때는 시간초과가 뜹니다

혹시 어떤식으로 바꿔야 시간초과를 해결할 수 있을까요?

http://boj.kr/df57741592ee44f8861e0ed09227b476

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 가인님 ㅎㅎ

		if (visited[deadLine])
		{
			for (int i = deadLine; i > 0; i--)

코드를 보시면 while루프 안에 deadline부터 ~ 쭉 되는 부분이 있는데 매번 deadline만큼 탐색을 하니

시간초과가 뜨는 것 같습니다.

각 문제의 데드라인은 N이하의 자연수이다

예를 들어서 deadline이 최대 N이기 때문에 최대 N x N만큼 탐색을 할수도 있는것이죠.

 



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


요가인님의 프로필 이미지
요가인
질문자

그럼 A문제 풀떄 똑같이했을때 된 이유는 범위가 더 작기 때문인거죠 ????

큰돌님의 프로필 이미지
큰돌
지식공유자

5 - A를 저것과 같은 방법으로 풀이하셨다는 말씀이시죠..?

네 맞습니다.

범위를 보시면..

n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)

가 되어있기 때문에 1억이긴하지만... 이문제보다는 적어서 되었던 것 같습니다.

다만 문제마다 시간초과 제한은 다를 수는 있어서.. 무조건 1억이면 된다. 10억이면 된다라는 것은 아니에요 ㅎㅎ

요가인님의 프로필 이미지
요가인

작성한 질문수

질문하기