[알고리즘문제풀기] 삼각형의 완성조건 (2)

silver's avatar
Jan 04, 2026
[알고리즘문제풀기] 삼각형의 완성조건 (2)

문제

내가 작성한 정답

import java.util.*; class Solution { public int solution(int[] sides) { int answer = 0; Arrays.sort(sides); //case1 안에 있는게 가장 큰 변일 때 for(int i=1; i<=sides[1]; i++){ if(sides[1]<sides[0]+i) answer++; } // case2 안에 있는게 작은 변 2개일 때 for(int i=1; i<sides[0]+sides[1]; i++){ if(sides[0]<i && sides[1]<i) answer++; } return answer; } }

다른 사람들의 정답

class Solution { public int solution(int[] sides) { int answer = 0; int min = Math.min(sides[0], sides[1]); answer += min * 2 - 1; return answer; } } 경우 1: x가 가장 긴 변이 아닌 경우 (x ≤ max) 조건: max < min + x → x > max - min 범위: max - min + 1부터 max까지 개수: max - (max - min + 1) + 1 = min 경우 2: x가 가장 긴 변인 경우 (x > max) 조건: x < min + max 범위: max + 1부터 min + max - 1까지 개수: (min + max - 1) - (max + 1) + 1 = min - 1 총 개수: min + (min - 1) = min * 2 - 1
 
Share article

silver