본문 바로가기
CodingTest

백준_5073번_삼각형과 세 변_자바

by Lcoding 2024. 2. 26.
반응형

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

# 로딩 화면 동작 코드(Code) 설정하기
loading