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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„ Swift

by Fomagran ๐Ÿ’ป 2020. 2. 28.
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

์ž„์˜์˜ ์–‘์˜ ์ •์ˆ˜ n์— ๋Œ€ํ•ด, n์ด ์–ด๋–ค ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.
n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด๋ผ๋ฉด x+1์˜ ์ œ๊ณฑ์„ ๋ฆฌํ„ดํ•˜๊ณ , n์ด ์–‘์˜ ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ด ์•„๋‹ˆ๋ผ๋ฉด -1์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • n์€ 1์ด์ƒ, 50000000000000 ์ดํ•˜์ธ ์–‘์˜ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

n return
3 -1
121 144

ํ’€์ด: x๋ฅผ 1๋กœ ์„ค์ •ํ•˜๊ณ  while๋ฌธ์— x*x๊ฐ€ n๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต์„ ํ•˜๊ฒŒ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ 

x*x๊ฐ€ n์ด๋ผ๋ฉด ๋ฉˆ์ถ”๊ณ  x์— 1์„ ๋”ํ•œ ๊ฐ’์˜ ์ œ๊ณฑ์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์•„๋‹ˆ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ํ•œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
func solution(_ n:Int64) -> Int64 {
    var x = 1
    while x*<= n {
        if x*== n {
            return Int64((x+1)*(x+1))
        }
        x += 1
    }
    return -1
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€