본문 바로가기
알고리즘 문제풀이/백준

백준 14681번 사분면 고르기 정답 코드

by 차누감 2024. 10. 6.
반응형

문제

흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.

예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.

점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.

입력

첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0)

출력

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


정답코드

1. Python

# x와 y 좌표 입력받기
x = int(input())
y = int(input())

# 사분면 판별
if x > 0 and y > 0:
    print(1)  # 1사분면
elif x < 0 and y > 0:
    print(2)  # 2사분면
elif x < 0 and y < 0:
    print(3)  # 3사분면
else:
    print(4)  # 4사분면

2. Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // x와 y 좌표 입력받기
        int x = sc.nextInt();
        int y = sc.nextInt();
        
        // 사분면 판별
        if (x > 0 && y > 0) {
            System.out.println(1);  // 1사분면
        } else if (x < 0 && y > 0) {
            System.out.println(2);  // 2사분면
        } else if (x < 0 && y < 0) {
            System.out.println(3);  // 3사분면
        } else {
            System.out.println(4);  // 4사분면
        }
    }
}

3. C++

#include <iostream>
using namespace std;

int main() {
    int x, y;
    // x와 y 좌표 입력받기
    cin >> x >> y;

    // 사분면 판별
    if (x > 0 && y > 0) {
        cout << 1 << endl;  // 1사분면
    } else if (x < 0 && y > 0) {
        cout << 2 << endl;  // 2사분면
    } else if (x < 0 && y < 0) {
        cout << 3 << endl;  // 3사분면
    } else {
        cout << 4 << endl;  // 4사분면
    }

    return 0;
}

4. JavaScript

const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
});

let input = [];

readline.on('line', (line) => {
    input.push(parseInt(line));
    
    if (input.length === 2) {
        const x = input[0];
        const y = input[1];

        // 사분면 판별
        if (x > 0 && y > 0) {
            console.log(1);  // 1사분면
        } else if (x < 0 && y > 0) {
            console.log(2);  // 2사분면
        } else if (x < 0 && y < 0) {
            console.log(3);  // 3사분면
        } else {
            console.log(4);  // 4사분면
        }
        
        readline.close();
    }
});

5. C

#include <stdio.h>

int main() {
    int x, y;
    // x와 y 좌표 입력받기
    scanf("%d %d", &x, &y);

    // 사분면 판별
    if (x > 0 && y > 0) {
        printf("1\n");  // 1사분면
    } else if (x < 0 && y > 0) {
        printf("2\n");  // 2사분면
    } else if (x < 0 && y < 0) {
        printf("3\n");  // 3사분면
    } else {
        printf("4\n");  // 4사분면
    }

    return 0;
}
반응형

댓글