728x90
반응형
문제
정답 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int maxN = 0;
if(a>b){
if(b>c) maxN = a;
else maxN = (a>c) ? a : c;
}
else maxN = (b>c) ? b : c;
if(a+b+c-maxN > maxN) System.out.println(a+b+c);
else System.out.print((a+b+c-maxN)*2-1);
br.close();
}
}
- 메모리 14224KB
- 시간 120ms
이전 문제에서 나왔던 삼각형의 조건 기억하시나요?
- 가장 긴 변의 길이가 다른 변의 길이의 합보다 작아야 한다
이 조건을 지키는 경우 세 변의 합을 출력하면 되고
그렇지 않을 경우 가장 긴 변의 길이를 줄여서 출력해야됩니다.
a+b+c-maxN은 가장 긴 변의 길이를 제외한 합인데 여기서 줄인 길이를 더해줘야 해요
줄여야 하는 길이는 가장 긴 변의 길이를 제외한 합에서 1만큼 줄여준 값이기 때문에
(a+b+c-maxN)*2-1을 출력해주면 됩니다.
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 24263번 알고리즘 수업 - 알고리즘의 수행 시간 2 (0) | 2023.05.30 |
---|---|
[백준/Java] 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2023.05.30 |
[백준/Java] 5073번 삼각형과 세 변 (0) | 2023.05.25 |
[백준/Java] 10101번 삼각형 외우기 (0) | 2023.05.25 |
[백준/Java] 9063번 대지 (0) | 2023.05.25 |