프로그래머스 조건 문자열

KIMYEONGJUN·2026년 5월 5일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
두 수가 n과 m이라면
">", "=" : n >= m
"<", "=" : n <= m
">", "!" : n > m
"<", "!" : n < m
 문자열 ineq와 eq가 주어집니다.
ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다.
그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.

내가 이 문제를 보고 생각해본 부분

solution 메서드는 주어진 조건 문자열 ineq와 eq 그리고 두 정수 n, m을 인자로 받는다.
먼저 ineq가 "<"인지 ">"인지를 판단한다.
만약 ineq가 "<"일 때, 다시 eq가 "="이면 n <= m 관계를 판단하여 참이면 1, 거짓이면 0을 반환한다.
그렇지 않고 eq가 "!"일 때는 엄격한 부등호 n < m를 판단한다.
반대로 ineq가 ">"이면, eq가 "="인 경우 n >= m인지 확인하여 결과를 1 또는 0으로 반환한다.
eq가 "!"인 경우에는 엄격한 부등호 n > m인지 판단한다.
main 메서드는 인텔리제이에서 실행할 수 있도록 작성했다.
테스트를 간단히 수행하기 위해 예시 입력값으로 solution을 호출하고 출력하는 코드를 넣었다.
출력 결과는 주어진 문제의 예시와 일치하여 올바른 동작을 확인할 수 있다.

코드로 구현

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

프로그래머스 코드

package programmers;

// 프로그래머스 조건 문자열
public class Main11 {
    public static int solution(String ineq, String eq, int n, int m) {
        if (ineq.equals("<")) {
            if (eq.equals("=")) {
                return n <= m ? 1 : 0;
            } else {
                return n < m ? 1 : 0;
            }
        } else {
            if (eq.equals("=")) {
                return n >= m ? 1 : 0;
            }
            return n > m ? 1 : 0;
        }
    }

    public static void main(String[] args) {
        // 테스트를 위해 예시 호출과 출력 코드 추가
        System.out.println(solution("<", "=", 20, 50));  // 결과: 1, 20 <= 50 이므로 참이다.
        System.out.println(solution(">", "!", 41, 78));  // 결과: 0, 41 > 78 이 아니기 때문이다.
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글