문제 설명
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
- 두 수가 n과 m이라면
- ">", "=" : n >= m
- "<", "=" : n <= m
- ">", "!" : n > m
- "<", "!" : n < m
두 문자열 ineq와 eq가 주어집니다. ineq는 "<", ">" 중 하나고, eq는 "="와 "!" 중 하나입니다. 그리고 두 정수 n과 m이 주어질 때. n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return 하도록 solution 함수를 완성해주세요,
제한사항
- 1 <= n, m <= 100
입출력 예
ineq | eq | n | m | result |
"<" | "=" | 20 | 50 | 1 |
">" | "!" | 41 | 78 | 0 |
class Solution {
public int solution(String ineq, String eq, int n, int m) {
int answer = 0;
if (ineq.equals(">")) {
if (eq.equals("=")) {
if (n >= m) {
answer = 1;
}
} else {
if (n > m) {
answer = 1;
}
}
} else {
if (eq.equals("=")) {
if (n <= m) {
answer = 1;
}
} else {
if (n < m) {
answer = 1;
}
}
}
return answer;
}
}
if문을 중첩해서 사용하여 가독성이 좋지는 않습니다. if문에서 ineq를 equals 메소드로 ">"와 같은지 비교합니다. if문에서 eq를 "="와 같은지 비교합니다. if문에서 만약 n이 m보다 크거나 같다면 answer에 1을 할당합니다. else는 eq가 "="와 같지 않은지 확인합니다. n이 m보다 크면 answer에 1을 할당합니다.
만약 ineq가 ">"와 같지 않은지 확인합니다. eq가 "="와 같은지 확인합니다. n이 m보다 작거나 같다면 answer에 1을 할당합니다. 만약 eq가 "="와 같지 않은지 확인합니다. 만약 n이 m보다 작다면 answer에 1을 할당합니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 간단한 식 계산하기(Java) (0) | 2023.05.16 |
---|---|
[프로그래머스 코딩테스트] x 사이의 개수(Java) (0) | 2023.05.15 |
[프로그래머스 코딩테스트] 수 조작하기 2(Java) (0) | 2023.05.15 |
[프로그래머스 코딩테스트] 리스트 자르기(Java) (3) | 2023.05.14 |
[프로그래머스 코딩테스트] 정사각형으로 만들기(Java) (0) | 2023.05.14 |