[프로그래머스] 두 수의 합과 차

Jamong·2023년 1월 1일
0

코딩테스트 입문
Day 1 - 2023.01.01


문제 설명

  1. 정수 num1, num2가 주어질 때, num1,num2의 합을 return 하도록 soltuion함수를 완성하라.
  2. 정수 num1, num2가 주어질 때, num1에서 num2를 뺀 값을 return 하도록 soltuion함수를 완성하라.

제한 사항

  1. 정수 num1이 -50,000보다 크거나 같고 50,000보다 작거나 같아야 한다.
  2. 정수 num2이 -50,000보다 크거나 같고 50,000보다 작거나 같아야 한다.

문제 풀이

두 수의 합.swift

import Foundation

func solution(_ num1: Int, _ num2: Int) -> Int {
	// 제한 사항
    guard (num1 >= -50000 && num1 <= 50000), (num2 >= -50000 && num2 <= 50000) else {
    return -1
    
    // 문제 풀이
    var result: Int = num1 + num2
    return result
}
두 수의 차.swift

import Foundation

func solution(_ num1: Int, _ num2: Int) -> Int {
	// 제한 사항
    guard (-50000...50000 ~= num1), (-50000...50000 ~= num2) else {
    return -1
    
    // 문제 풀이
    var result: Int = num1 - num2
    return result
}

문제에서 주어진 soultion 함수와 num1, num2 , result를 변수 이름을 그대로 사용했다.

함수와 기본적인 연산자를 이용하여 return 값을 줄 수 있는지를 확인하는 문제로 간단하게 풀 수 있었다.

먼저 guard문을 이용하여 제한사항을 설정하였다.
( if-else문으로 걸어내도 되지만 가독성을 위해 guard문을 사용한다. )

두 수의 합 에서는 비교연산자를 이용하여 조건을 설정하여, 제한 조건에 만족되지 않으면 -1을 돌려주게했다.

두 수의 합.swift

    guard (num1 >= -50000 && num1 <= 50000), (num2 >= -50000 && num2 <= 50000) else {
    return -1

두 수의 차 에서는 범위연산자(~=) 를 사용하여 가독성을 높혔다.

두 수의 차.swift

    guard (-50000...50000 ~= num1), (-50000...50000 ~= num2) else {
    return -1

이후 문제에서 원하는 사칙연산을 이용하여 Solution 함수를 완성하였다.

두 수의 합.swift

    var result: Int = num1 + num2
    return result
두 수의 차.swift

    var result: Int = num1 - num2
    return result
profile
새해 목표 : 1일 1 깃, 블로그, 프로그래머스 2문제

0개의 댓글