앞으로 매일 꾸준히 코딩테스트를 진행하면서 단계를 높여가보자.
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
두 수가 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

class Solution {
public int solution(String ineq, String eq, int n, int m) {
int answer = 0;
if( ineq.equals(">") && eq.equals("=") ){
answer = n >= m ? 1 : 0;
} else if( ineq.equals("<") && eq.equals("=") ){
answer = n <= m ? 1 : 0;
} else if( ineq.equals(">") && eq.equals("!") ){
answer = n > m ? 1 : 0;
} else if( ineq.equals("<") && eq.equals("!") ){
answer = n < m ? 1 : 0;
}
return answer;
}
}
1) 조건문에 equals() 메소드를 사용하여 String 문자열 비교를 한다.
2) 삼항 연산자를 사용한다.
== 연산자 vs. equals() 메소드
- int와 boolean과 같은 일반적인 데이터 타입의 비교는 == 연산자를 사용하여 비교한다. 즉, 비교하고자 하는 두개의 대상의 주소값을 비교
- String처럼 Class의 값을 비교할때는 equals() 메소드를 사용하여 비교한다. 즉, 비교하고자 하는 두개의 대상의 값 자체를 비교
- 삼항 연산자의 문법
조건식 ? 반환값1 : 반환값2
참고자료