https://www.acmicpc.net/problem/14681
백준 온라인 저지(BOJ)의 첫 번째 단계인 "if문"의 네 번째 문제이다.
두 수를 입력받고 사분면 중 어느 사분면에 속하는지를 출력해주는 프로그램이다.
이때 사분면에 대해 모른다면 접은 글을 참고하기 바란다.
더보기
좌표평면을 그리게 되면,
좌표평면의 x축과 y축을 기준으로 4개의 공간이 생기게 된다.
그림으로 보면
이러하다.
오른쪽 위부터 시계 반대방향 순서대로, 제 1사분면, 제 2사분면, 제 3사분면, 제 4사분면이다.
제 1사분면은 x좌표와 y좌표가 모두 양수이다.
제 2사분면은 x좌표는 음수, y좌표는 양수이다.
제 3사분면은 x좌표와 y좌표가 모두 음수이다.
제 4사분면은 x좌표는 양수, y좌표는 음수이다.
이러한 특징을 이용하여, 주어진 좌표의 사분면을 알 수 있다.
또한 공백문자를 이용해 두 수를 제공했던 지난 문제들과는 다른방식임에 주의하자.
- 첫 번째 방법 - Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = Integer.parseInt(in.nextLine());
int y = Integer.parseInt(in.nextLine());
if(x > 0)
if(y > 0)
System.out.println(1);
else
System.out.println(4);
else
if(y > 0)
System.out.println(2);
else
System.out.println(3);
}
}
- 두 번째 방법 - BufferedReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int x = Integer.parseInt(br.readLine());
int y = Integer.parseInt(br.readLine());
if(x > 0)
if(y > 0)
System.out.println(1);
else
System.out.println(4);
else
if(y > 0)
System.out.println(2);
else
System.out.println(3);
}
}
성능이 좋지 못한 Scanner대신 BufferedReader를 이용하기 때문에 시간적인 측면에서 첫 번째 방법보다 더 유리하다.
- 느낀 점
...
'[JAVA] > 자바[JAVA] 백준' 카테고리의 다른 글
BOJ(백준 온라인 저지) 10828번 with 자바[JAVA] (0) | 2022.01.18 |
---|---|
BOJ(백준 온라인 저지) 2884번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.13 |
BOJ(백준 온라인 저지) 2753번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.12 |
BOJ(백준 온라인 저지) 9498번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.12 |
BOJ(백준 온라인 저지) 1330번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.12 |