๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ

by hyebin (Helia) 2023. 1. 18.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ

์ œ๊ณฑ์ˆ˜ ํŒ๋ณ„ํ•˜๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

์–ด๋–ค ์ž์—ฐ์ˆ˜๋ฅผ ์ œ๊ณฑํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ์ •์ˆ˜๋ฅผ ์ œ๊ณฑ์ˆ˜๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์ด ์ œ๊ณฑ์ˆ˜๋ผ๋ฉด 1์„ ์•„๋‹ˆ๋ผ๋ฉด 2๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ n ≤ 1,000,000

์ž…์ถœ๋ ฅ ์˜ˆ

n result
144 1
976 2

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • 144๋Š” 12์˜ ์ œ๊ณฑ์ด๋ฏ€๋กœ ์ œ๊ณฑ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1์„ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • 976์€ ์ œ๊ณฑ์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ n:Int) -> Int {
    return sqrt(Double(n)).truncatingRemainder(dividingBy: 1.0) == 0 ? 1 : 2
}
sqrt ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜์˜ ์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•œ ํ›„, truncatingRemainder ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ œ๊ณฑ๊ทผ์˜ ์†Œ์ˆ˜์  ์•„๋ž˜๊ฐ€ 0์ด๋ผ๋ฉด ์ œ๊ณฑ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— 1์„, ์•„๋‹ˆ๋ผ๋ฉด 2๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•