dokrsky   10달 전

예제를 가져와 제 소스를 설명해보겠습니다.

8
1 6 2 5 7 3 5 6

1부터 차례대로 입력받으면서 이전 배열의 값을 비교하는 것입니다.


예를들어, 현재 7을 읽었을 때( i값은 7 )

j 값은 6번 index값 부터 0번 index까지 감소하면서 해당 조건문을 확인하게 됩니다

조건문은 

1) 현재 상자의 크기( box[i] )보다 작은 박스( box[j] )를 만나야 하며

2) 탐색하면서 찾은 가장 많은 상자의 수보다 더 많아야 한다는 것입니다.

조건문안에서는 해당 박스에 지금까지 저장 된 box의 수 중에 최대값을 찾아 + 1 해주는 것입니다.

도대체 어디서 틀렸습니다가 나오는 지 모르겠습니다.. ㅠㅠ

2번 조건을 제외해주세요.

입력 예제

5

4 5 1 2 3

네 번째 2는 앞에서 찾은 최대 박스의 수(두 번째 5, 박스의 수 2)보다 작은 수의 박스를 쌓은 세 번째 1에서부터 붙여나가야 합니다.

또한, 각 박스를 하나만 뽑는 경우가 기저이므로 num배열은 초기에 모두 1로 초기화되어 있어야 합니다.

dokrsky   10달 전

portableangel 님 감사합니다!! 말씀대로 2번째 조건을 고쳤구요

if문 안에서

result 를 찾는 과정을 결과값 출력이전에 N( 상자갯수 )만큼 반복문을 수행하면서 찾도록하니 맞았습니당~ 감사합니당!

댓글을 작성하려면 로그인해야 합니다.