본문 바로가기
코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] 조건 문자열

by 블루데이제이 2025. 4. 3.
728x90
반응형
문제 설명

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

  • 두 수가 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
입출력 예
ineq	eq	n	m	result
"<"	"="	20	50	1
">"	"!"	41	78	0
입출력 설명
입출력 예 #1
20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2
41 > 78은 거짓이기 때문에 0을 return합니다.

내 풀이
Java
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;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* ineq, const char* eq, int n, int m) {
    int answer = 0;
    if(ineq[0] == '>' && eq[0] == '='){
        return n >= m ? 1 : 0;
    }else if(ineq[0] == '<' && eq[0] == '='){
        return n <= m ? 1 : 0;
    }else if(ineq[0] == '>' && eq[0] == '!'){
        return n > m ? 1 : 0;
    }else if(ineq[0] == '<' && eq[0] == '!'){
        return n < m ? 1 : 0;
    }
    return answer;
}
Python
def solution(ineq, eq, n, m):
    answer = 0
    if ineq == '>' and eq == '=':
        return 1 if n >= m else 0
    elif ineq == '<' and eq == '=':
        return 1 if n <= m else 0
    elif ineq == '>' and eq == '!':
        return 1 if n > m else 0
    else:
        return 1 if n < m else 0
        
    return answer

https://school.programmers.co.kr/learn/courses/30/lessons/181934

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

728x90
반응형