본문 바로가기
coding test/Java

프로그래머스 ) lv.0 ) 조건 문자열

by heidish 2023. 6. 21.
반응형

 

 

 

 

 

 

 

SOL )

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

이렇게 풀었는데 실패가 떴다..!

실패한 풀이긴 하지만, 아래 사진처럼 IDE에 정리하면서 실제 실행해보고 콘솔도 찍어보고 하니까

훨씬 깔끔하게 코드도 정리 가능하고 좋은것같다!

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

틀림!

간결함을 포기하고 다시 해봤지만 역시 실패다,, 왜 어느부분에서 잘못된건지를 모르겠어서 구글링을 해봤다.

 

 

 

 

OTHER SOL )

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 if (eq.equals("!")) {
                                return n > m ? 1 : 0;
                        }
                } else if (ineq.equals("<")) {
                        if (eq.equals("=")) {
                                return n <= m ? 1 : 0;
                        } else if (eq.equals("!")) {
                                return n < m ? 1 : 0;
                        }
                }

                return 0; // 기본적으로 0을 반환 (조건에 맞지 않는 경우)
        }
}

조건문 나누는 기준이 잘못되어 틀렸던것 같다,,,,

쫌,, 어렵네 너,,,?

 

 

 

 

반응형

댓글