inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

6-D

6-D 시간복잡도 관련 질문입니다

해결된 질문

237

조태

작성한 질문수 4

0

안녕하세요 선생님 수업 듣는 중에 의문점이 생겨서 질문드립니다.
6-D(7795) 번 문제 같은 경우에는 입력값의 범위가 1~20000까지로 완전 탐색으로 풀게 된다면
n^2의 시간복잡도를 가져 시간 초과가 날 줄 알았습니다.
하지만 그렇게 풀어보니 시간 초과가 나지 않고 정상적으로 통과가 되네요
어떤 이유 때문인지 궁금합니다!

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

int T, N, M, num;
vector<int> A;
vector<int> B;

int main() {
	cin >> T;
	while (T--) {
		cin >> N >> M;
		A = vector<int>(N);
		B = vector<int>(M);
		for (int i = 0; i < N; i++) cin >> A[i];
		for (int i = 0; i < M; i++) cin >> B[i];

		sort(A.begin(), A.end());
		sort(B.begin(), B.end());
		int cnt = 0;
		for (int i = 0; i < N; i++) {
			for (int j = 0; j < M; j++) {
				if (A[i] > B[j]) {
					cnt++;
				}
				else break;
			}
		}
		cout << cnt << "\n";
	}
	return 0;
}

c++ 코딩-테스트

답변 1

0

큰돌

안녕하세요 조태님 ㅎㅎ

		A = vector<int>(N);
		B = vector<int>(M);
		for (int i = 0; i < N; i++) cin >> A[i];
		for (int i = 0; i < M; i++) cin >> B[i];

		sort(A.begin(), A.end());
		sort(B.begin(), B.end());

코드를 보시면 잘한점이

sort부분입니다.

이렇게 해서 완탐을 하더라도 어떤 경우의 수에 있어서는 빠르게 탐색이 가능하도록 하신 것이죠.

예를 들어

5 6 7 8

1 2 3 9

이런경우에 빠르게 탐색이 가능하겟죠?

 

이 때문에 통과가 나는 것 같습니다.

 

n^2의 시간복잡도를 가져 시간 초과가 날 줄 알았습니다.

>> 정확히는 N * M 의 시간복잡도를 갖고

조태님이 말씀하신 것처럼 4억의 시간복잡도를 갖어서 보통은 통과가 되지 않는 코드가 맞습니다만

  1. 내부적으로 저런 유형의 테케가 여러개 있을 수도 있으며

  2. 원래 4억이라고 해서 보통은 통과가 안되는데 어떤 문제에 따라 시간초과 범위를 넓게 주는 경우도 있어서 그렇습니다.

 

 

 

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

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

감사합니다.

강사 큰돌 올림.

코딩 살구 클럽 컴파일 에러

0

4

1

추천 문제

0

7

1

코딩살구클럽 승인

0

9

1

코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의

0

21

2

문제를 고민하는 시간 관련

0

26

2

코딩살구클럽

0

38

2

코딩살구클럽 문의

0

37

2

코딩살구클럽 승인

0

35

2

DP 경우의 수 설명이 이해가 되지 않습니다.

0

33

2

3-F 채점 관련 질문

0

31

1

BFS, DFS 활용이 되는 상황에서의 방향성

0

33

2

코딩살구클럽 승인

0

45

2

코딩살구클럽승인

0

39

3

코딩살구클럽 승인

0

54

2

3-D 관련 질문

0

35

2

코살구 회원가입 문의

0

45

2

코살구 로그인 문제

0

65

2

3-A 문제 풀이 관련 질문

0

56

3

2-O 질문 있습니다

0

38

2

2-T 문제에 관한 질문

0

40

2

코딩 살구 클럽 접속 및 사용방법 문의

0

63

2

안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~

0

67

2

코딩살구클럽 로그인문제

0

85

3

코딩 살구 클럽 로그인 문제

0

86

2