Technology/Problem Solving

[PS]백준 14681

문베디드 2022. 4. 8. 08:25

좌표를 입력받아 사분면 위치를 출력하는 간단한 문제

 

입력받은 숫자의 case를 구분하는 if문을 작성하여 풀고, 숏코딩을 보니 수식을 만들어서 쓴 사람들이 있었다.

 

처음 10초정도 수식으로 할수 있지 않을까 생각은 들었으나 그냥 빨리 풀고 넘어가자고 생각했는데

 

이걸 또 줄여서 수식으로 만들어서 시간과 코드 양을 줄이는 사람들이 있네

 

똑띠들...^^

 

사분면 위치를 구하는 식은 다음과 같다.

좌표 (x, y) 를 입력받은 경우, 이때 x와 y는 0으로 입력되지 않는다.

 

1+2*(y<0)+(x*y<0) 와 같은 수식으로 표현 가능하다.

 

아래는 구현 코드

1
2
3
4
5
6
7
8
#include <stdio.h>
void main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    printf("%d",1+2*(y<0)+(x*y<0));
}
 
cs

 

문제

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

 

14681번: 사분면 고르기

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

www.acmicpc.net