[프로그래머스] Lv.0 조건 문자열.java

김엄지·2024년 3월 18일

알고리즘

목록 보기
20/90

🐤 목표

앞으로 매일 꾸준히 코딩테스트를 진행하면서 단계를 높여가보자.

문제 설명

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

두 수가 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() 메소드

== 연산자 vs. equals() 메소드

  • int와 boolean과 같은 일반적인 데이터 타입의 비교는 == 연산자를 사용하여 비교한다. 즉, 비교하고자 하는 두개의 대상의 주소값을 비교
  • String처럼 Class의 값을 비교할때는 equals() 메소드를 사용하여 비교한다. 즉, 비교하고자 하는 두개의 대상의 값 자체를 비교
  • 삼항 연산자의 문법
    조건식 ? 반환값1 : 반환값2

참고자료

profile
나만의 무언가를 가진 프로그래머가 되자

0개의 댓글