Post

[Programmers] #181934 - 조건 문자열 [Java][C++][Python]

부등호와 등호 기호 조합으로 두 정수의 비교 조건을 판별해 1 또는 0을 반환하는 워밍업 문제.

[Programmers] #181934 - 조건 문자열 [Java][C++][Python]

문제 링크


1. 아이디어

부등호 ineq(">" 또는 "<")와 등호 여부 eq("=" 또는 "!")의 조합이 nm의 비교 조건을 나타낸다. ineq">"이면 eq"="일 때 n >= m을, 아니면 n > m을 확인하고, ineq"<"이면 마찬가지로 eq에 따라 n <= m 또는 n < m을 확인해서, 조건을 만족하면 1을 아니면 0을 반환하면 되는 문제다.


2. 복잡도

접근시간공간
풀이$O(1)$$O(1)$

3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
6
7
8
9
10
11
class Solution {
    public int solution(String ineq, String eq, int n, int m) {
        if (ineq.equals(">")) {
            if (eq.equals("=")) return n >= m ? 1 : 0;
            return n > m ? 1 : 0;
        } else {
            if (eq.equals("=")) return n <= m ? 1 : 0;
            return n < m ? 1 : 0;
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
#include <bits/stdc++.h>
using namespace std;

int solution(string ineq, string eq, int n, int m) {
    if (ineq == ">") {
        if (eq == "=") return n >= m;
        return n > m;
    } else {
        if (eq == "=") return n <= m;
        return n < m;
    }
}
1
2
3
4
5
6
7
8
9
def solution(ineq, eq, n, m):
    if ineq == ">":
        if eq == "=":
            return int(n >= m)
        return int(n > m)
    else:
        if eq == "=":
            return int(n <= m)
        return int(n < m)

This post is licensed under CC BY 4.0 by the author.