https://www.acmicpc.net/problem/5073
5073번: 삼각형과 세 변
각 입력에 맞는 결과 (Equilateral, Isosceles, Scalene, Invalid) 를 출력하시오.
www.acmicpc.net
이번 문제는 5073번 삼각형과 세 변 문제로 while문과 CASE문이나 if문을 이용한 분기 처리로 간단하게 풀이가 가능합니다.
입력 사항 -
각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.
출력 사항 -
- Equilateral : 세 변의 길이가 모두 같은 경우
- Isosceles : 두 변의 길이만 같은 경우
- Scalene : 세 변의 길이가 모두 다른 경우
- Invalid : 삼각형의 조건이 만족하지 않는 경우 [임의의 두변을 길이의 합이 나머지 한변의 길이보다 작은 경우]
주의 사항 -
0 0 0 이라는 값이 입력되기 전까지는 입력 갯수에 상관없이 무한히 반복되어야 합니다.
풀이 방식 -
0 0 0이 입력되기 전까지는 무한히 반복되는 while문을 작성하고 그안에 case문이나 if문을 이용하여 상황에 맞는 문자열을 출력해주는 로직을 작성해주면 됩니다.
로직 -
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
while (true){
st = new StringTokenizer(br.readLine());
int fir = Integer.parseInt(st.nextToken());
int sec = Integer.parseInt(st.nextToken());
int thr = Integer.parseInt(st.nextToken());
if(fir==0&&sec==0&&thr==0){
break;
}
if(fir < sec+thr && sec < fir+thr && thr < fir+sec ){
if(fir==sec && sec == thr){
System.out.println("Equilateral");
} else if (fir == sec || fir == thr || sec == thr) {
System.out.println("Isosceles");
} else {
System.out.println("Scalene ");
}
}else {
System.out.println("Invalid");
}
}
}
}
'CodingTest' 카테고리의 다른 글
백준_1157번_단어 공부_자바 (1) | 2024.02.27 |
---|---|
백준_2292번_벌집_자바 (0) | 2024.02.26 |
백준_23971번_ZOAC 4_자바 (0) | 2024.02.26 |
백준_1436번_영화감독 숌_자바 (0) | 2024.02.09 |
백준_1012번_유기농 배추_자바 (0) | 2024.02.03 |