JAVA/프로그래머스 코딩 기초 트레이닝

[프로그래머스, LV.0] 조건 문자열

sundori 2023. 5. 16. 13:23

목차

     

    #1 조건 문자열

    문제 설명

    제한 사항

    • 1 <= n, m <= 100

    입출력 예

    #2 코드 및 알고리즘

     

    class Solution {
        public int solution(String ineq, String eq, int n, int m) {
            // 60 < , 61 = , 62 > , 63 !
            if(60 == ineq.charAt(0)){
                if(63 != eq.charAt(0))
                    return n <= m ? 1 : 0;
                else
                    return n < m ? 0 : 1;
            } else {
                if(63 != eq.charAt(0))
                    return n >= m ? 1 : 0;
                else
                    return n > m ? 0 : 1;
            }
        }
    }
    ------------------------------------------
    테스트 1 〉	통과 (0.02ms, 79.7MB)
    테스트 2 〉	통과 (0.02ms, 73.3MB)
    테스트 3 〉    	통과 (0.02ms, 78.3MB)
    테스트 4 〉    	통과 (0.03ms, 74MB)
    테스트 5 〉    	통과 (0.04ms, 74MB)
    테스트 6 〉    	통과 (0.02ms, 75MB)
    테스트 7 〉    	통과 (0.03ms, 67MB)
    테스트 8 〉	통과 (0.03ms, 72MB)
    테스트 9 〉	통과 (0.02ms, 73.9MB)
    테스트 10 〉	통과 (0.02ms, 72.5MB)
    테스트 11 〉	통과 (0.02ms, 72.8MB)
    테스트 12 〉	통과 (0.03ms, 78.2MB)
    테스트 13 〉	통과 (0.03ms, 77.1MB)
    테스트 14 〉	통과 (0.02ms, 78.1MB)
    테스트 15 〉	통과 (0.03ms, 81.5MB)
    테스트 16 〉	통과 (0.02ms, 69.6MB)
    테스트 17 〉	통과 (0.02ms, 74.3MB)
    테스트 18 〉	통과 (0.03ms, 73.5MB)
    테스트 19 〉	통과 (0.02ms, 76.2MB)
    테스트 20 〉	통과 (0.02ms, 74.4MB)
    채점 결과
    정확성: 100.0
    합계: 100.0 / 100.0

    풀이:

    • <은 아스키코드로 60, =(61), >(62), !(63)이다. 
    • 따라서 주어지는 ineq와 eq가 문자로 위의 번호와 같을 경우를 이용한다.
    • 우선 첫번 째 if문에는 주어진 ineq가 <(60)일 때 그리고 eq가 !(63)이 아니라면(=)은 <=라는 조건이며 이것도 아니면 <이다..
    • 첫번 째 if문의 else에서 <가 아니고(>이며) eq가 !(63)이 아니라면(=)은 >=라는 조건이며 이 조건도 아니라면 >라는거다.
    • 비교연산자와 삼항연산자를 이용해 반환해준다.

    풀이가 많이 부적절할 수 있습니다. 혹시라도 보시는 분들은 참고용으로만 부탁드립니다.

    728x90