티스토리 뷰

링크 : https://www.hackerrank.com/challenges/maximum-perimeter-triangle/problem

 

문제> 제공 된 숫자들은 삼각형을 구성 할 변의 길이들.

각 변의 길이를 조합하여 가장 큰 삼각형을 만들어라.

만들지 못할 경우 -1 출력.

 

* 삼각형의 조건 : 가장 긴 변이 z일 경우. ( x + y > z)


 

해결방법.

1) 변의 길이들을 정렬.

2) 변의 길이 복사 후 중복 제거.(삼각형의 가장 큰 변 z로 사용. HashSet사용)

3) 출력값에 기본으로 -1을 넣은 리스트를 생성.

4) 큰 삼각형을 찾아야 하기 때문에 큰 값부터 검색.(반복문)

- 중복을 제거한 값(z)이 정렬 된 변의 길이에서 몇번째 인덱스인지 검색.

- z인덱스 - 1을 y로 잡고 y + x가 z보다 큰 값을 검색.

- 없으면 반복. 있다면 출력값의 -1을 지우고 x, y, z를 추가 해서 출력.

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함