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

Seah Lee·2023년 6월 19일
0

프로그래머스

목록 보기
12/57

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

너무 조건문 몸통 박치기 아닌가 싶다..~

[다른 사람의 풀이]

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

내 조건문 몸통박치기를 완전 야무지게 잘 정리한 풀이..

class Solution {
    public int solution(String ineq, String eq, int n, int m) {
        boolean answer = false;

        switch(eq) {
            case "!": 
                switch(ineq) {
                    case "<":
                        answer = n < m;
                        break;
                    case ">":
                        answer = n > m;
                        break;
                }
                break;
            case "=":
                switch(ineq) {
                    case "<":
                        answer = n <= m;
                        break;
                    case ">":
                        answer = n >= m;
                        break;
                }
                break;
        }

        return answer?1:0;
    }
}

switch case 문으로 잘 정리해주신듯, 문제 보자마자 case when을 어째 사용하면 좋을까 생각했는데 이분이 해두신거보고 공부함

profile
성장하는 개발자

0개의 댓글