점의 위치 구하기

Wook·2024년 9월 2일

🧩코딩테스트

목록 보기
24/46
post-thumbnail

문제

x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.

조건

  • dot의 길이 = 2
  • dot[0]은 x좌표를, dot[1]은 y좌표를 나타냅니다
  • -500 ≤ dot의 원소 ≤ 500
  • dot의 원소는 0이 아닙니다.

예시

dotresult
[2, 4]1
[-7, 9]2

풀이

  • x값과 y값의 부호에 따라 사분면이 결정됨
  • 총 4개의 경우를 else-if문으로 적을 수 있겠지만 가독성을 조금 더 향상시키고 싶어서 x의 경우를 2가지로 나눈 후, 삼항연산자를 사용하여 answer 값을 할당

코드

public class Solution {
    public int solution(int[] dot) {
        int answer = 0;
        int x = dot[0];
        int y = dot[1];

        if (x > 0) {
            answer = (y > 0) ? 1 : 4;
        } else {
            answer = ( y > 0) ? 2 : 3;
        }

        return answer;
    }
}
profile
Keep going

0개의 댓글