코드 그라데이션
[Lv.0] 점의 위치 구하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120841
문제 설명
사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를 매깁니다.
- x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
- x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
- x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
- x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.
x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다.
좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.
제한 사항
입출력 예
입출력 예 설명
아이디어
- 길이는 2로 제한사항에서 변하지 않으니까, x는 1번에 있고 y는 2번에 있다고 가정하고 가도 무방.
- 네 개의 사분면 분기
나의 답안
class Solution {
public int solution(int[] dot) {
int x = dot[0];
int y = dot[1];
if(x>0&&y>0) {
return 1;
}
else if(x<0&&y>0) {
return 2;
}
else if(x<0&&y<0) {
return 3;
}
else {
return 4;
}
}
}
cf) 만약 단일 if나 마지막을 else if 로 묶는다면?
// 요기 에 도달할 수 있다고 컴파일러가 판단하므로 에러를 낸다.
class Solution {
public int solution(int[] dot) {
int x = dot[0];
int y = dot[1];
if(x>0&&y>0) {
return 1;
}
else if(x<0&&y>0) {
return 2;
}
else if(x<0&&y<0) {
return 3;
}
else if {
return 4;
}
// 요기
}
}
그런데 지금은 else 까지 해서 꽁꽁 싸맸기 때문에 모든 경우의 수를 다 충족한다.
728x90
'Java > 알고리즘' 카테고리의 다른 글
[Lv.0] 접두사인지 확인하기 (0) | 2023.06.08 |
---|---|
[Lv.0] 배열의 유사도 (0) | 2023.06.08 |
[Lv.0] (2문제) 공배수, n의 배수 (0) | 2023.06.07 |
[Lv.0] (2문제) 문자열을 정수로 변환하기, 문자열로 변환 (0) | 2023.06.07 |
[Lv.0] 모음 제거 (0) | 2023.06.02 |
Comments