회고록 블로그

[백준 코테 풀기] 14681번. 사분면 고르기 본문

4. 기타 공부/코테 준비

[백준 코테 풀기] 14681번. 사분면 고르기

김간장 2021. 11. 29. 20:51

[문제]

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

 

14681번: 사분면 고르기

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

www.acmicpc.net

 

[풀이]

x와 y의 값이 0이 되면 다시 값을 입력받아야 하지만, 문제에서 재입력을 받으라고 언급하지 않았기 때문에 임의로 해결해버렸다.

import java.util.Scanner;

class Quadrant {
	private int x; // x좌표 값
	private int y; // y좌표 값
	
	Quadrant(int x, int y) {
		if((x != 0) && (y != 0)) {
			this.x = x;
			this.y = y;
		}
        else {
            System.out.println("x와 y의 값은 0이 될 수 없습니다. 임의로 1을 입력합니다.");
            this.x = 1;
            this.y = 1;
        }
	}
	int printQuadrant() {
		if(x > 0 && y > 0) // x와 y 양수
			return 1;
		else if(x < 0 && y > 0) // x는 음수, y는 양수
			return 2;
		else if(x < 0 && y < 0) // x와 y 음수
			return 3;
		else // 나머지(x는 양수, y는 음수)
			return 4;
		// 앞서 x와 y는 0이 아니라고 했기 때문에 else문에 x=0, y=0는 포함되지 않는다.
	}	
}

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		Quadrant n = new Quadrant(sc.nextInt(), sc.nextInt());
		System.out.println(n.printQuadrant());
	}
}

Comments