문제 출처: www.acmicpc.net/problem/14681
14681번: 사분면 고르기
점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.
www.acmicpc.net
1. 코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
int main(void) | |
{ | |
int x, y; | |
cin >> x >> y; | |
if (x > 0) | |
{ | |
if (y > 0) | |
cout << 1; | |
else | |
cout << 4; | |
} | |
else | |
{ | |
if (y > 0) | |
cout << 2; | |
else | |
cout << 3; | |
} | |
return 0; | |
} |
2. 풀이
우선 문제에 대해서 먼저 파악해보자.

문제에서 x좌표와 y좌표를 입력 후에 그것이 어떠한 사분면에 속하였는지를 알아보는 것이다. 그렇다면 1 사분면은 x > 0, y > 0일 때이며 2 사분면은 x < 0, y > 0일 때이며 3 사분면은 x < 0, y < 0일 때이며 4 사분면은 x > 0, y <0일 때이다. 이제 그것을 코드로 구현하면 된다.
int x, y;
cin >> x >> y;
우선 x와 y좌표를 선언 후 입력함으로써 초기화를 한다.
if (x > 0)
{
if (y > 0)
cout << 1;
else
cout << 4;
}
x좌표가 0보다 큰 값인지 확인을 한 뒤 y 좌표의 값이 0보다 크다면 1 사분면( x > 0, y > 0)에 속하였으므로 1을 출력한다. 만약 y 좌표의 값이 0보다 작다면 4 사분면(x > 0, y < 0)에 속하였으므로 4를 출력한다.
else
{
if (y > 0)
cout << 2;
else
cout << 3;
}
그리고 x좌표가 0보다 작다면 y좌표가 0보다 크다면 2 사분면(x < 0, y > 0)에 속하였으므로 2를 출력한다. 만약 y좌표의 값이 0보다 작다면 3 사분면(x < 0, y < 0)에 속하였으므로 3을 출력한다.
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 2739번: 구구단 [C++] (0) | 2020.11.30 |
---|---|
백준 알고리즘 2884번: 알람 시계 [C++] (0) | 2020.11.29 |
백준 알고리즘 9498번: 시험 성적 [C++] (0) | 2020.11.24 |
백준 알고리즘 1330번: 두 수 비교하기 [C++] (0) | 2020.11.23 |
백준 알고리즘 2588번: 곱셈 [C++] (0) | 2020.11.22 |