Where who wants to meet someone

간단한 식 계산하기 본문

프로그래머스 알고리즘 문제 기록/코딩 기초 트레이닝

간단한 식 계산하기

Lust3r 2024. 2. 1. 16:19
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181865

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

내 답안 / 다른 사람들의 답안

import Foundation

func solution(_ binomial:String) -> Int {
    let components = binomial.components(separatedBy: " ")

    switch components[1] {
        case "+":
            return Int(components[0])! + Int(components[2])!
        case "-":
            return Int(components[0])! - Int(components[2])!
        default:
            return Int(components[0])! * Int(components[2])!
    }
}

- 공백을 기준으로 요소를 나누어 각 케이스에 맞게 분기해서 반환

 

// 풀이 1

import Foundation

func solution(_ binomial:String) -> Int {
    let binomial = binomial.split(separator: " ").map { String($0) }
    let (a, op, b) = (Int(binomial[0])!, binomial[1], Int(binomial[2])!)
    switch op {
    case "+": return a + b
    case "-": return a - b
    case "*": return a * b
    default: return 0
    }
}

// 풀이 2

import Foundation

func solution(_ binomial:String) -> Int {
    let values = binomial.components(separatedBy: " ")
    switch values[1] {
        case "+": return Int(values[0])! + Int(values[2])!
        case "-": return Int(values[0])! - Int(values[2])!
        default:  return Int(values[0])! * Int(values[2])!
    }
}

 

 

점수: +1