Post

Basic19 조건 문자열

문제: 조건 문자열

문제 설명

문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다. 

  • 두 수가 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 ≤ nm ≤ 100

입출력 예
ineqeqnmresult
”<””=”20501
”>””!”41780

입출력 예 설명

입출력 예 #1

  • 20 <= 50은 참이기 때문에 1을 return합니다.

입출력 예 #2

  • 41 > 78은 거짓이기 때문에 0을 return합니다.

Solution

switch case문을 사용하여 문제를 해결했습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import Foundation

func solution(_ ineq:String, _ eq:String, _ n:Int, _ m:Int) -> Int {
    switch (ineq, eq){
        case (">", "=") :
            return n >= m ? 1 : 0
        case ("<", "=") :
            return n <= m ? 1 : 0
        case (">", "!") :
            return n > m ? 1 : 0
        case ("<", "!") :
            return n < m ? 1 : 0
        default :
            return n == m ? 1 : 0
    }
}