inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-I

시간초과 원인을 모르겠습니다

해결된 질문

141

지성

작성한 질문수 12

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요.

강의 듣지 않고 먼저 제가 생각한 구현대로 풀었는데,

테스트케이스는 문제 없이 통과하지만

제출시에 시간초과가 나는 이유를 알고 싶어서 질문드립니다!

http://boj.kr/685512bc92be45b7b83207a485d28054

c++ 코딩-테스트

답변 2

0

큰돌

안녕하세요 지성님 ㅎㅎ

        else{ // 문자인 경우
            cout << find(name.begin(),name.end(),k)-name.begin() + 1 << "\n";
        }

이부분때문에 시간초과가 납니다. find는 O(N)의 시간복잡도를 가집니다. 이를 O(1)로 한번 만들어보시겠어요? (힌트 : 하나의 자료구조를 더 써야 함)

 


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

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

감사합니다.

강사 큰돌 올림.

0

지성

http://boj.kr/48fdfc94d0c048c5a4902926525a7cd2

 

감사합니다!

map을 하나만 쓰면 시간초과가 나서 두개를 써 보았는데,

 

아래 코드를 안 쓰면 시간초과가 나고, 쓰면 문제해결이 됩니다.

혹시 아래 코드를 안 쓰고 이 풀이를 시간초과를 안 나게 할 수 있는 방법이 있을까요??

ios::sync_with_stdio(false);
cin.tie(NULL);

0

큰돌

없습니다.

이문제의 경우 시간초과가 타이트하기 때문에 해당 부분은 필수로 붙여주셔야 합니다.

(제 해설코드도 붙여야 통과합니다)


이렇게 생각하시면 됩니다.

시간초과 -> 저거 붙이고 -> 안되면 다른 로직 개선

 

감사합니다.

0

지성

감사합니다!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 지성님께서 질문하신 시간 초과 문제는 코딩 테스트에서 종종 발생하는 이슈로, 보통 알고리즘의 비효율성이나 입력 처리의 최적화 부족 때문에 발생합니다.

시간 초과 문제를 해결하기 위해 고려해볼 몇 가지 일반적인 접근 방법은 다음과 같습니다:

  1. 중복 연산 줄이기: 코드 내 반복문이 중첩되어 있는 경우, 특히 이중, 삼중 이상의 반복문이 있을 때 입력이 큰 경우 시간 초과가 발생할 수 있습니다. 해당 부분의 연산을 줄이기 위해 효율적인 알고리즘을 탐색해 보세요.

  2. 효율적인 데이터 구조 사용: 데이터를 저장하는 데 unordered_map 같은 효율적인 자료구조를 사용하면 입출력의 속도 개선에 도움을 줄 수 있습니다.

  3. 입출력 최적화: 입출력에서 cout << ... << endl; 대신 cout << ... << '\n';를 사용하는 것이 좋습니다. endl은 버퍼를 플러시하기 때문에 성능 저하의 원인이 될 수 있습니다.

  4. 재귀 호출 최적화: 재귀적으로 호출되는 함수의 경우, 가능한 경우 반복문을 사용하는 것이 좋으며 메모이제이션을 통해 중복 계산을 줄일 수 있습니다.

다음 링크들에서 유사한 질문과 답변이 제공되고 있습니다:

  • “시간초과 문의”: 이 게시물에서는 endl 대신 \"\\n\" 사용을 권장하여 성능 향상을 도모하는 방안이 설명되어 있습니다.

  • “3-K 시간초과 질문입니다.”: 시간초과를 해결하기 위한 데이터 구조 최적화 또는 함수 호출을 줄이는 전략에 대해 논의하고 있습니다.

위에 소개된 내용들을 바탕으로, 코드의 특정 부분을 최적화하여 문제를 해결해 보세요. 각 상황에 맞는 최적화 전략이 필요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

0

50

2

2주차 개념#12 트리 순회

0

24

2

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

0

274

2

백준 서비스 종료

9

867

1

sk 하이닉스 코테 대비

0

367

2

3-G 최댓값 질문

0

50

1

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

0

82

2

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

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

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

0

66

2

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

0

169

2

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

0

69

2

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

0

64

2

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

0

51

2

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

0

68

2

함수별 시간복잡도

0

72

2

3-h 질문입니다.

0

49

1

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

0

53

2

1-I 문제 질문 드립니다.

0

76

2

2-P 질문입니다.

0

56

1

mac에서 시작하기 관련

0

91

2

5-Q 질문

0

63

2

풀이 코드 질문

0

64

2