Java/Java 알고리즘

백준 9950번 Rectangles JAVA 구현해보기

kimc 2022. 3. 31. 00:33

```

백준 9950번 Rectangles JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1.  백준 9950번 풀이

https://www.acmicpc.net/problem/9950

 

9950번: Rectangles

Input is a series of lines, each containing 3 integers, l, w, and a ( 0 ≤ l w ≤100, 0 ≤ a ≤ 10,000) representing the length, width and area of a rectangle in that order. The integers are separated by a single space. In each row, only one of the val

www.acmicpc.net

 

 

 

백준 9950번 Rectangles는 

난이도 브론즈 등급의 문제로서

 

사각형의

가로길이 세로 길이 넓이가

l w a 형식으로 입력받을 때

하나의 값이 0인 경우

나머지 값을 이용해서 계산해주면 되는 문제입니다.

예) 9 0 45 인경우 중앙에 5

 

0 0 0을 입력받으면 종료하고

그 외의 경우 위의 작업을 반복합니다.


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


길이를 입력받고

 

3 변수의 값이 모두 0이면 종료

그 외의 경우 조건에 맞게 계산해줍니다.

 

그리고 연산이 끝나면

StringBuilder에 모아둔 값들을 출력해줍니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

    static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {

        StringBuilder sb = new StringBuilder();

        while (true) {
            // 사각형의 넓이 가로 세로 길이를 입력받는다.
            StringTokenizer st = new StringTokenizer(br.readLine());
            int length = Integer.parseInt(st.nextToken());
            int width = Integer.parseInt(st.nextToken());
            int area = Integer.parseInt(st.nextToken());

            // 3 변수의 값이 모두 0 이면 종료한다.
            if (length == 0 && width == 0 && area == 0) {
                break;
            }
            // 세로 값이 0이라면
            else if (length == 0 && width != 0 && area != 0) {
                length = area / width;
            }
            // 가로 값이 0이라면
            else if (length != 0 && width == 0 && area != 0) {
                width = area / length;
            }
            // 넓이 값이 0이라면
            else if (length != 0 && width != 0 && area == 0) {
                area = width * length;
            }
            // 그외의 경우
            else {
                throw new IOException();
            }
            sb.append(length).append(" ").append(width).append(" ").append(area).append("\n");
        }

        sb.setLength(sb.length() - 1);
        System.out.print(sb);
    }

}

//codemasterkimc.tistory.com [김씨의 코딩 스토리]

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90