park780172   4년 전

테스트 케이스 공유합니다.

4
24 2 3 29
25 30 30 30
6

3
10 5 4
10 100 30
5

4
39 8 10 0
40 60 60 90
10

1
10
30
1

1
50
30
0

2
100 70
30 30
0

4
45 10 15 50
30 20 60 40
3

3
1 999 99
1000 500 1
34

2
10 40
20 90
3

1
1
1
0

1
1
2
1

5
10 20 30 40 50
50 40 30 20 10
10

3
60 60 60
90 90 90
3

3
5 5 5
1000 10000 100000
3702

2
2 4
300 1
10

100
41 449 328 474 150 709 467 329 936 440 700 117 258 811 952 491 993 931 823 431 359 590 899 153 292 370 404 698 699 876 442 705 757 527 868 893 642 273 18 885 675 788 291 303 656 660 126 704 225 862 522 617 630 725 17 847 715 732 502 778 304 32 168 841 288 76 31 934 245 626 419 782 875 723 346 335 992 70 369 545 610 611 60 935 738 829 962 369 918 282 928 407 602 312 532 517 102 80 907 525
86 7 94 65 80 32 39 84 60 65 72 61 58 84 8 72 12 19 47 49 49 59 71 52 34 22 21 20 92 33 80 39 74 9 28 97 100 93 29 25 4 66 79 81 98 21 91 62 82 4 59 100 34 1 51 80 92 69 77 39 38 97 51 34 35 19 22 1 67 9 90 31 82 11 51 84 78 70 74 42 100 88 53 80 57 62 32 51 48 63 92 46 4 61 31 98 69 52 88 20
3206






hyakintoss   4년 전

코드는 아직 자세히 보지 못했지만 올려주신 예제 중에 한가지로 설명드리면..


5
10 20 30 40 50
50 40 30 20 10
3

-> 실제 답 : 10

결론적으로 각 기프티콘을 4회, 3회, 2회, 1회, 0회 연장시켜 놓고 보면

130, 110, 90, 70, 50 일로 기한이 연장되게 되고

실제 사용하고자 하는 일자인 10, 20, 30, 40, 50일이 각각 되었을 때 각 기프티콘이 "가장 적게 남은 기프티콘" 이 되어 조건을 만족하게 됩니다.

각 기프티콘을 사용하기 위해서는 남은 기프티콘 중 가장 기한이 적게 남아야 한다는 조건을 고려해서

기프티콘의 기한연장 횟수를 계산할 때 앞에서 사용한 기프티콘들의 기한을 고려해서 풀이하였습니다.

park780172   4년 전

@hyakintoss

우선 댓글 감사합니다.

저도 그런 논리로 구현했었는데,

제 구현 능력이 부족했었던 것 같습니다.

댓글 감사합니다.

eoy1313   3년 전

예제 중에 이거 때문에 정답 맞췄습니다. 저 같은 경우 java로 했을 때 Math.ceil 안하고 그냥 30 나눈 값 +1 이런식으로 해서 오류가 났었습니다.
정말 감사합니다. 이거 아니였으면 못 맞췄을 듯 합니다 ㅠㅠ

3
60 60 60
90 90 90
3

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