연습장
19. 조건 문자열 본문
Q . 문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
두 수가 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
쉬운 방법이 없을까 고민을 하다가 결국 다 적었다.
1. ineq == "<" && eq == "="
2. ineq == "<" && eq == "!"
3. ineq == ">" && eq == "="
4. ineq == ">" && eq == "!"
총 4가지 경우에 대해 다 진행 하여 코드가 길어졌다.
function solution(ineq, eq, n, m) {
var answer = 0;
if ( ineq == "<" && eq == "=") {
if (n <= m) {
answer = 1
}
}
else if ( ineq == "<" && eq == "!") {
if (n < m) {
answer = 1
}
}
else if ( ineq == ">" && eq == "=") {
if (n >= m) {
answer = 1
}
}
else {
if (n > m) {
answer = 1
}
}
return answer;
}
다른사람풀이
function solution(ineq, eq, n, m) {
if (eq === '=' && n === m) return 1
if (ineq === '<' && n < m) return 1
if (ineq === '>' && n > m) return 1
return 0
}
eq // = , ! 인데 = 일때, n 과 m 이 같으면 ... 1
ineq // > , < 인데 < 일때 n < m 이면 ... 1
ineq // > , < 인데 > 일때 n > m 이면 ... 1
나머지 0
모든경우의 조건에 집중한 나머지 나의 풀이가 더 길어진것 같다.
주어진 조건에 대해서 좀 더 유연한 사고방식이 필요하다고 생각된다.
'프로그래머스 > 0단계' 카테고리의 다른 글
21. 코드 처리하기 (0) | 2023.06.19 |
---|---|
20. flag에 따라 다른 값 반환하기 (0) | 2023.06.19 |
18. 홀짝에 따라 다른 값 반환하기 (0) | 2023.06.19 |
17. 공배수 (0) | 2023.06.19 |
16. n의 배수 (0) | 2023.06.19 |