강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của rlagusdn601955
rlagusdn601955

câu hỏi đã được viết

Hoàn thành C++ Coding Test trong 10 tuần | Thuật toán Coding Test

2-T

2-T 질문있습니다

Viết

·

138

0

http://boj.kr/4b3abb45ebbc439d9e4c7f566089586e

오큰수를 찾는 과정을

  1. 처음부터 쭉 찾아나가다가 왼쪽에 나보다 작은수가 있다면 스택에 넣는다.

  2. 나보다 큰수가 나온다면 스택에 저장된 크기만큼 해당 숫자를 출력한다.

  3. 만약 나보다 큰수가 한번도 안나온다면 -1을 출력한다.

의 과정으로 진행하였습니다.

예시답안도 정상적으로 나왔는데 왜 틀린건지 어떤 논리적 오류가 발생했는지 궁금합니다

c++코딩-테스트

Câu trả lời 2

0

rlagusdn601955님의 프로필 이미지
rlagusdn601955
Người đặt câu hỏi

감사합니다

0

kundol님의 프로필 이미지
kundol
Người chia sẻ kiến thức

안녕하세요 ㅎㅎ 현우님 시간복잡도상 너무 큰 로직입니다.

	for(int i=0;i<N;i++){
		stack<int> s;
		bool b=false;
		
		s.push(vec[i]);
		for(int j=i+1;j<N;j++){

지금 보시면 N^2의 알고리즘인데 이 문제의 N의 최대범위는 10만입니다. 즉, 10만 * 10만을 하게 되면 100억이 되게 됩니다.

조금 더 효율적으로 구축하시면 됩니다.


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

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

감사합니다.

강사 큰돌 올림.


Hình ảnh hồ sơ của rlagusdn601955
rlagusdn601955

câu hỏi đã được viết

Đặt câu hỏi