본문 바로가기
프로그래머스/프로그래머스 Lv0

Lv0 삼각형의 완성조건(2)

by 독기품기 2024. 7. 9.

https://school.programmers.co.kr/learn/courses/30/lessons/120868

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

이 문제는 수학공식을 이용해서 푸는게 가장 빠르다.

먼저 주어진 두 변을 a,b라 하고 나머지 한 변을 x라 하자. 

1) 가장 긴 변이 a라면 a < b+x가 되고 x > a-b로 부등식 변환이 가능하다.

2) 가장 긴 변이 x라고 한다면 x < a+b 여야 한다.

3) 두 식을 모두 만족하는 부등식은 a-b < x < a+b인데 부등호가 <,> 이다. 즉 최솟값은 a-b+1, 최댓값은 a+b-1를 해줘야 구할 수 있다.

4) 위의 식을 토대로 부등식을 다시 세우면 a-b+1 <= x <= a+b-1이 되고

이를 만족하는 정수의 개수는 최댓값 - 최솟값 +1이므로 a+b-1 - (a-b+1) + 1 => 2b -1이 된다.

5) 가장 긴 변을 a라 두었기에 return 2*min(sides) -1를 해주면 된다.

'프로그래머스 > 프로그래머스 Lv0' 카테고리의 다른 글

Lv0 수열과 구간쿼리2  (0) 2024.07.15
Lv0 무작위로 K개의 수 뽑기  (0) 2024.07.09
Lv0 구슬을 나누는 경우의 수  (0) 2024.07.09
Lv0 문자열 여러 번 뒤집기  (0) 2024.07.04
Lv0 두 수의 합  (0) 2024.07.04