ksoosung77   2년 전

혹시 이렇게 푸는 것이 맞나요?

(안푼 사람들이 보는것을 막기 위해서 주소로 제공)

https://www.acmicpc.net/source...

=======

지금 보니 코딩이 더러워서 그냥 저가 한 방식을 말해주겠습니다.

1.사용자가 입력한 각 물건의 무게와 가치를 구조체로 묶어서 배열 arr에 넣음.

2.다 입력 받으면 arr배열을 낮은 무게 순으로 정렬함.

3-1.다시 arr배열을 다 순환하는데 이번엔 자기 자신과 이전에 있던 무게를 고려해서 int weightandvalue[100001]라는 배열에 weightandvalue[무게]=가치

이렇게 넣어서 비교함.

3-2.arr배열 순환 할때마다 brr에 현재 무게 ,각 arr배열 중 brr안에 있는 무게+현재 무게를 넣음(이미 있으면 넣지 않음,사용자가 입력한 크기 이상을 넣지 않음)

3-3.brr배열을 무게가 높은 순으로 정렬함.

3-4. 3-1~3-3을 arr배열 다 돌때까지 반복.

4.마지막으로 brr배열 안에 있는 무게를 꺼내 weightandvalue[무게]에 넣어서 그중 가장 값이 큰 값을 찾아 가져와서 출력.

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