[알고리즘문제풀기] 점의 위치 구하기

silver's avatar
Nov 11, 2025
[알고리즘문제풀기] 점의 위치 구하기

문제

내가 작성한 정답

class Solution { public int solution(int[] dot) { int a = dot[0], b = dot[1]; if(a*b>0){ if(a>0) return 1; else return 3; }else{ if(a>0) return 4; else return 2; } } }

다른 사람들의 정답

class Solution { public int solution(int[] dot) { // x좌표가 음수면 1(왼쪽), 아니면 0(오른쪽) int xParam = dot[0] < 0 ? 1 : 0; // y좌표가 음수면 2(아래쪽), 아니면 0(위쪽) int yParam = dot[1] < 0 ? 2 : 0; // 비트 OR로 두 자리 정보를 더함 예)x좌표 음수(1), y좌표 음수(2)라면 1|2 = 3 // yParam을 오른쪽으로 1비트 이동 (2→1, 0→0) // 이것은 y값이 음수일 때만 1, 아니면 0 // 정보를 XOR로 조합해 특정 케이스에서 결과값을 조정하고 결과에 1을 더해 사분면 나타냄 return 1 + ((xParam | yParam) ^ (yParam >> 1)); } }
Share article

silver