본문 바로가기
PS/BOJ

[자바] 백준 16099 - Larger Sport Facility (java)

by Nahwasa 2023. 4. 19.

목차

    문제 : boj16099

     

     

    필요 알고리즘

    • 사칙연산
      • 간단한 사칙연산 문제이다.

    ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.

     

     

    풀이

      l_t, w_t, l_e, w_e 를 입력받은 후 l_t * w_t와 l_e * w_e를 비교한다. 같다면 Tie, 전자가 크다면 TelecomParisTech, 후자가 크다면 Eurecom를 출력해주면 된다. 다만 곱셈의 결과가 int로는 표현 불가능한 범위이므로 long을 사용해야 한다는 점은 주의해야 한다.

     

     

    코드 : github

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.StringTokenizer;
    
    public class Main {
        static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
        public static void main(String[] args) throws Exception {
            new Main().solution();
        }
    
        private void solution() throws Exception {
            int tc = Integer.parseInt(br.readLine());
            StringBuilder sb = new StringBuilder();
            while (tc-->0) {
                StringTokenizer st = new StringTokenizer(br.readLine());
                long lt = Long.parseLong(st.nextToken());
                long wt = Long.parseLong(st.nextToken());
                long le = Long.parseLong(st.nextToken());
                long we = Long.parseLong(st.nextToken());
    
                long areaT = lt*wt;
                long areaE = le*we;
    
                sb.append(areaT==areaE ? "Tie" : areaT>areaE ? "TelecomParisTech" : "Eurecom").append('\n');
            }
    
            System.out.print(sb);
        }
    }

     

    댓글