본문 바로가기
코딩테스트/JAVA

[프로그래머스/JAVA] 조건 문자열

by 얼쩡 2024. 4. 17.
반응형

문제 설명
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.


두 수가 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

 

입출력 예 설명
입출력 예 #1
20 <= 50은 참이기 때문에 1을 return합니다.


입출력 예 #2
41 > 78은 거짓이기 때문에 0을 return합니다.

class Solution {
    public int solution(String ineq, String eq, int n, int m) {
        int answer = 0;
        
        if(">".equals(ineq) && "=".equals(eq)) 		answer = n >= m? 1 : 0;
        else if("<".equals(ineq) && "=".equals(eq)) answer = n <= m? 1 : 0;
        else if(">".equals(ineq) && "!".equals(eq)) answer = n > m? 1 : 0;
        else if("<".equals(ineq) && "!".equals(eq)) answer = n < m? 1 : 0;
        
        return answer;
    }
}

1. String 비교

특정 문자와 String 변수를 비교할때는 .equals() 함수를 사용

 

2. 삼항연산자

answer = n >=m? 1 : 0;

 - answer변수에 값을 set하는데, n>= m인지 체크하여 참이면 1, 거짓이면 0을 저장

반응형