안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)
🪅 나의 문제 풀이
class Solution {
public int solution(int[] dot) {
dot[0] = int x;
dot[1] = int y;
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;
}
}
[ 테스트 통과 ]
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;
}
}
[ 해결 방안 ]
오류코드 : error: cannot find symbol variable x , cannot find symbol variable y
조건문 앞에 int x와 int y, dot 배열 요소 값의 순서를 반대로 적어주었었다.
배열 요소 선언 좌우 위치를 바꿈.
🧸 코드설명
이전 단계에서 if 조건문의 중괄호를 없앤 간단한 식을 써보고 싶었는데, 이번에 해당 테스트에 중괄호를 제거한 식을 적용하여 테스트를 통과하였습니다. 식을 더 간단하게 할 수 있을 것 같았는데, 다른 풀이를 보면서 조건문을 두번 실행되는 과정으로 줄인 '풀이1' 과정을 다른 테스트에도 활용해보고 싶었습니다. 이전 코드를 해결하면서 알게된 다른 풀이 방법이나 나의 오류를 고치는 과정을 통해 다른 문제를 하나씩 해결해나가는게 왠지 기분이 좋고 성취감도 높아집니다. 타인의 풀이도 해석하고 나의 풀이과정에 접목시킴으로써 상대적으로 하나의 문제를 해결하는 시간이 몇시간 생각하고 고민했던 것들이 몇분 안쪽으로 줄어들었습니다!
✨ 다른 풀이
풀이1)
int x가 dot[0]인 값을 양수인지 아닌지 여부에 따라 if문을 두 번 실행될 수 있도록 나눈 것이 놀라웠네요!
if문 안에 int y의 값인 dot[1]이 양수인지 아닌지 여부에 따라 결과값을 다르게 하여 리턴하는 부분을 알아보았습니다.
풀이2)
저의 식과 풀이1의 식이 합쳐진 모습이네요.
풀이3)
answer을 지우지 않았다면, if문 위의 변수 선언부분을 생략할 수 있었네요.
풀이4)
삼항연산자로도 작성해보고 싶었는데, 실무에서는 가독성이 떨어지지 않도록 코드를 작성해야하므로, 우선적이 아닌 부수적인 해결방안으로 생각해보아야겠습니다.
'。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★ > 나의 코딩테스트' 카테고리의 다른 글
[프로그래머스/Java] 코딩테스트 Lv.0 최빈값 구하기 (0) | 2023.09.30 |
---|---|
[프로그래머스/Java] 코딩테스트 Lv.0 배열의 유사도 (0) | 2023.09.26 |
[프로그래머스/Java] 코딩테스트 Lv.0 각도기 (0) | 2023.09.24 |
[프로그래머스/Java] 코딩테스트 Lv.0 삼각형의 완성조건 (1) (1) | 2023.09.24 |
[프로그래머스/Java] 코딩테스트 Lv.0 배열 원소의 길이 (0) | 2023.09.23 |