๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

[Swift] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ

by Fomagran ๐Ÿ’ป 2021. 5. 18.
728x90
๋ฐ˜์‘ํ˜•

 

Problem

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ

๋‘ ์ •์ˆ˜ left์™€ right๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. left๋ถ€ํ„ฐ right๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜๋“ค ์ค‘์—์„œ, ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜์ธ ์ˆ˜๋Š” ๋”ํ•˜๊ณ , ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ ์ˆ˜๋Š” ๋บ€ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ

programmers.co.kr


Solution

 

left๋ถ€ํ„ฐ right๊นŒ์ง€ ์ˆซ์ž๋ฅผ 1๋ถ€ํ„ฐ n๊นŒ์ง€ ๋‚˜๋ˆ„๋ฉด์„œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ธ ์ˆซ์ž์˜ ๊ฐฏ์ˆ˜(์•ฝ์ˆ˜)๋ฅผ ๊ตฌํ•œ๋‹ค.

 

๋งŒ์•ฝ ์•ฝ์ˆ˜์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ง์ด๋ผ๋ฉด n์„ ๋”ํ•ด์ฃผ๊ณ  ํ™€์ด๋ฉด -n์„ ๋”ํ•ด์ค€๋‹ค.


Source Code

 


๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

 

์ œ๊ณฑ๊ทผ์— ์†Œ์ˆ˜์ ์ด ์—†์œผ๋ฉด ์•ฝ์ˆ˜์˜ ๊ฐฏ์ˆ˜๊ฐ€ ํ™€์ˆ˜๊ณ  ์žˆ์œผ๋ฉด ์ง์ˆ˜์ž„.

import Foundation

func solution(_ left:Int, _ right:Int) -> Int {
    var answer = 0

    for number in left...right{
        if floor(sqrt(Double(number))) == sqrt(Double(number)) {
            answer -= number
        } else {
            answer += number
        }
    }
    return answer
}

์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ๋œ ๊ฒƒ

 

sqrt(Double:)

 

์ œ๊ณฑ๊ทผ ๊ฐ’์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

floor(_:)

 

์†Œ์ˆ˜์  ๊ฐ’์„ ๋‹ค ์—†์• ์คŒ.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€