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
반응형
'코딩테스트 > 프로그래머스 기초' 카테고리의 다른 글
[코딩테스트 Lv.0] 공배수 (1) | 2025.04.04 |
---|---|
[코딩테스트 Lv.0] 홀짝에 따라 다른 값 반환하기 (4) | 2025.04.03 |
[코딩테스트 Lv.0] flag에 따라 다른 값 반환하기 (5) | 2025.04.02 |
[코딩테스트 Lv.0] 코드 처리하기 (6) | 2025.04.02 |
[코딩테스트 Lv.0] 등차수열의 특정한 항만 더하기 (3) | 2025.04.02 |