inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-I

1-I문제 / 시간 빡세다의 정의 궁금증

해결된 질문

368

it Ez

작성한 질문수 4

0

 

 

 

 

 

=> 총 시간복잡도 = O(N *( log(N) + T )(M과 N의 최대 범위 같으니 동치해 봤습니다)

사실상 T의 길이도 최대 20이어서 미미해서 O(NlogN)이라고 판단했습니다.

 

 

감사합니다

 

 

 

c++ 코딩-테스트

답변 1

1

큰돌

안녕하세요 ㅎㅎ

생각의 흐름 자체가 좋습니다.

 

사실상 T의 길이도 최대 20이어서 미미해서 O(NlogN)이라고 판단했습니다.

>> 네 맞습니다.

  • 우선 M번 반복하고, 반복할 때마다 문제를 받는데, 해당 문제의 input을 int로 변환하는 과정 O(T) (문자열 길이 T가정)

>> 네 맞습니다.

 

저는 1초 = c++에서 1억번이라고 들어서 그것을 기준으로 잡고 해봤습니다.

>> 아닙니다. 그럴 수도 있고 아닐 수도 있습니다.

 

어떻게 하면 이 문제에서 1초라는 시간초과가 빡세다는 점을 캐치할 수 있는지

>> 먼저 1초라고 해서 빡세다는 것이 아닙니다. 빡세다라는 것의 근거는.

어떠한 맞는 로직을 제출했을 때의 private TC가 통과되었지만 시간초과가 났다는 근거하에 빡세다라는 것을 알 수 있습니다.

예를 들어 처음에 짠 로직 자체가 O(N)인데 알고보니 이 문제의 시간초과가 타이트해서 시간초과가 뜬 경우 조금 더 효율적인 로직을 생각해야 합니다.

즉, 제출을 하면서 빡세다라는 것을 유추해야 합니다.

 

 

 

 

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

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

감사합니다.

강사 큰돌 올림.


0

it Ez

아 답변 감사합니다! 그럼 해당 문제는 최대 20만개의 input이 들어올 수 있으니 I/O가 빡세다는 점을 유추해서 저 코드를 넣어야겠다 이렇게 하는 것이 좋나요??

 

혹시 그러면 문제에서 시간 제한이 있을 경우에는 이것을 어떻게 활용해야 하는지요?? 예를 들면 N의 범위가 10만이이고 시간이 2초니 O(Nlogn)까지는 고려해볼스 있겠다 이렇게 정형화된 방법은 없나요??

 

제가 놓친건지 공간복잡도 관련해서는 교안에 한번 정리해주신것같은데 문제의 시간 제한을 실전에서는 값의 범위, 입력 개수 등과 어떻게 활용해야 할지 감이 아직 잘 안옵니다

2

큰돌

럼 해당 문제는 최대 20만개의 input이 들어올 수 있으니 I/O가 빡세다는 점을 유추해서 저 코드를 넣어야겠다 이렇게 하는 것이 좋나요??

>> 아니요 cin을 썼는데 시간초과가 난다 -> ios 등을 넣는게 좋습니다. 애초에 코테 볼 때 저걸 넣고 시작하는게 좋습니다.

 

혹시 그러면 문제에서 시간 제한이 있을 경우에는 이것을 어떻게 활용해야 하는지요?? 예를 들면 N의 범위가 10만이이고 시간이 2초니 O(Nlogn)까지는 고려해볼스 있겠다 이렇게 정형화된 방법은 없나요??

>> 초를 기반으로 시간초과 유추하는 것은 불가능합니다. N의 범위가 10만이면 N^2은 1억이 넘어가게 됩니다. 보통의 문제는 1억 또는 10억이면 시간초과가 납니다.

N의 범위가 10만 -> N^2의 알고리즘이 생각남 -> 1억이 넘네? -> 이거 말고는 없을까?

-> 없는 거 같은데 -> 제출 -> 시간초과 -> 조금 더 효율적인거 없을까.. 이분탐색이나 정렬 등을 이용한다면? map을 사용한다면? -> 알고리즘 개선 및 제출

이런식의 플로우를 빠르게 하는 것을 연습하시면 됩니다.




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

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

감사합니다.

강사 큰돌 올림.


 

살구 클럽에 대한 질문있습ㄴ디ㅏ

0

13

1

교안 158페이지 문의드립니다

0

27

2

코딩살구클럽 관련 건의사항

0

61

1

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

28

1

진행 방법 질문드립니다!

0

58

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

60

2

2주차 개념#12 트리 순회

0

29

2

백준사이트가 종료된다고 합니다.

0

289

2

백준 서비스 종료

9

895

1

sk 하이닉스 코테 대비

0

371

2

3-G 최댓값 질문

0

51

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

83

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

173

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

51

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

68

2

함수별 시간복잡도

0

74

2

3-h 질문입니다.

0

49

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

53

2