๐ Problem Solution/Programmers
[Swift] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ์์ ๊ฐ์์ ๋ง์
Fomagran ๐ป
2021. 5. 18. 12:43
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
๋ฐ์ํ