Develop
[프로그래머스] 조건 문자열 본문
문제
내풀이
class Solution {
public int solution(String ineq, String eq, int n, int m) {
return (((ineq.equals(">") ? (eq.equals("=")? n>=m : n > m) : (eq.equals("="))? n<=m : n < m))? 1 : 0);
}
}
다른 풀이
import java.util.Map;
import java.util.function.BiFunction;
class Solution {
public int solution(String ineq, String eq, int n, int m) {
Map<String, BiFunction<Integer, Integer, Boolean>> functions = Map.of(
">=", (a, b) -> a >= b,
"<=", (a, b) -> a <= b,
">!", (a, b) -> a > b,
"<!", (a, b) -> a < b
);
return functions.get(ineq + eq).apply(n, m) ? 1 : 0;
}
}
느낀점
다른풀이가 정말 깔끔하고 알아보기 쉬운듯하다
삼항 연산자를 사용하는 것은 좋지만
여러개 사용하면 내 풀이처럼 한눈에 알아보기 힘든 경우가 많으니 남발하지않도록 하자
map관련 예시문제를 풀어봐야겠다
이론을 공부해도 직접 사용하기가 쉽지않아서 문제를 풀어보려고 한다
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 코드 처리하기 (0) | 2024.01.18 |
---|---|
[프로그래머스] flag에 따라 다른 값 반환하기 (0) | 2024.01.17 |
[프로그래머스] X 사이의 개수 (0) | 2024.01.16 |
[프로그래머스] 한 번만 등장한 문자 (0) | 2024.01.16 |
[프로그래머스] 홀짝에 따라 다른 값 반환하기 (0) | 2024.01.15 |