JuSeok

4153번

문제

  • 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하는 문제
문제 해결 순서
  1. 무한루프를 돌며 주어진 문자열이 "0 0 0" 인지 확인
  2. 아니라면 StringTokenizer을 통해 a, b, c를 공백을 기준으로 나눠 입력받음
  3. 그 중 가장 큰 값을 저장
  4. 큰 값^2 = 나머지1^2 + 나머지2^2 으로 직각삼각형임을 구분
import java.io.*;
import java.util.StringTokenizer;
class Main {
  public static void main(String[] args) throws IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String s = "";
    for(;;){
      s = br.readLine();
      if(s.equals("0 0 0")){
        return;
      }
      else if(!s.equals("0 0 0")){
        StringTokenizer st = new StringTokenizer(s, " ");
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        int c = Integer.parseInt(st.nextToken());
        
        int max = (a > b) ? a : b;
        max = (max > c) ? max : c;

        if(max == a){
          if((b*b) + (c*c) == (a*a)){
            System.out.print("right" + "\n");
          }
          else{
            System.out.print("wrong" + "\n");
          }
        }
        else if(max == b){
          if((a*a) + (c*c) == (b*b)){
            System.out.print("right" + "\n");
          }
          else{
            System.out.print("wrong" + "\n");
          }
        }
        else if(max == c){
          if((a*a) + (b*b) == (c*c)){
            System.out.print("right" + "\n");
          }
          else{
            System.out.print("wrong" + "\n");
          }
        }
      }
    }
  }
}
  • BufferedReader는 사용해봤는데 BufferedWriter는 귀찮아서 다음번에...

Tags