์ƒˆ์†Œ์‹

๐Ÿงฎ ์•Œ๊ณ ๋ฆฌ์ฆ˜/-- ๋ฐฑ์ค€ (BOJ) - Swift

(swift) [๋ฐฑ์ค€/Boj] 1789๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ

  • -

๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/1789

 

1789๋ฒˆ: ์ˆ˜๋“ค์˜ ํ•ฉ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ S(1 ≤ S ≤ 4,294,967,295)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net

 

๋‚œ์ด๋„ : silver 5

 

์Šค์œ„ํ”„ํŠธ ์ฝ”๋“œ(swift)

์ตœ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, 1๋ถ€ํ„ฐ ๋”ํ•ด์ฃผ๋Š” while๋ฌธ์„ ๋งŒ๋“ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋”ํ•ด๊ฐ€๋‹ค๊ฐ€ ๋ฌธ์ œ์—์„œ ๋“ค์–ด์˜จ ์ž…๋ ฅ๊ฐ’ S์™€ ๋”ฑ ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค๋ฉด, ๊ทธ๋•Œ๊นŒ์ง€ ์นด์šดํŒ… ํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.

๋ฌธ์ œ ์ž…๋ ฅ๊ฐ’ S๋ณด๋‹ค ์˜ค๋ฒ„๋œ๋‹ค๋ฉด >> ์˜ˆ๋ฅผ๋“ค์–ด S= 120์ธ๋ฐ, 1์”ฉ ๋”ํ•˜๋‹ค๋ณด๋‹ˆ ๋‚˜์ค‘์— 17์ด ์˜ค๋ฒ„๋˜์—ˆ๋‹ค. -> ๊ทธ๋ƒฅ 17์„ ๋นผ์ฃผ๋ฉด ๋˜๋‹ˆ๊นŒ answer -= 1์„ ํ•ด์ฃผ๊ณ  ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.

import Foundation
let S = Int(readLine()!)!
var answer = 0
var i = 1
var sum = 0
while(true){
    sum += i
    answer += 1
    i += 1
    if sum == S{break}
    else if sum > S{
        answer -= 1
        break
    }
}
print(answer)

 

 

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.