❓ 문제
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
- 두 수가 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 |
✍🏻 JAVA
- switch를 사용하여 풀었다.
class Solution {
public int solution(String ineq, String eq, int n, int m) {
boolean check = true;
switch (ineq + eq) {
case ">=" -> check = n >= m;
case ">!" -> check = n > m;
case "<=" -> check = n <= m;
case "<!" -> check = n < m;
}
return check ? 1 : 0;
}
}
class Solution {
public int solution(String ineq, String eq, int n, int m) {
int ans = -1;
switch (ineq + eq) {
case ">=" -> ans = n >= m ? 1 : 0;
case ">!" -> ans = n > m ? 1 : 0;
case "<=" -> ans = n <= m ? 1 : 0;
case "<!" -> ans = n < m ? 1 : 0;
}
return ans;
}
}
✍🏻 Kotlin
- when을 사용하여 풀었다.
class Solution {
fun solution(ineq: String, eq: String, n: Int, m: Int): Int {
var ans = 0
when(ineq + eq) {
">=" -> ans = if (n >= m) 1 else 0
">!" -> ans = if (n > m) 1 else 0
"<!" -> ans = if (n < m) 1 else 0
"<=" -> ans = if (n <= m) 1 else 0
}
return ans
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 181929. 원소들의 곱과 합 JAVA Kotlin (0) | 2023.12.12 |
---|---|
[프로그래머스] 181928. 이어 붙인 수 JAVA Kotlin (0) | 2023.12.12 |
[프로그래머스] 132266. 부대 복귀 JAVA (1) | 2023.12.05 |
[프로그래머스] 문자열 겹쳐쓰기 JAVA Kotlin (0) | 2023.12.04 |
[프로그래머스] 풍선 터트리기 JAVA (0) | 2023.11.07 |
댓글