MUKER_DEV with iOS

[swift] 백준 1193번: 분수찾기 본문

🤖 알고리즘/BAEKJOON

[swift] 백준 1193번: 분수찾기

MUKER 2022. 9. 16. 10:14
 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net


나의 풀이

var r = Int(readLine()!)!
var c = 1

while true {
    r = r - c
    if r <= 0 {
        break
    }
    c += 1
}

if c % 2 == 1 {
    print("\(-r + 1)/\(r + c)")
} else {
    print("\(r + c)/\(-r + 1)")
}

/*
 r = 5
 
 while문
 5 - 1 = r: 4 / c: 2
 4 - 2 = r: 2 / c: 3
 2 - 3 = r: -1 / c: 4
 
 if문
 result = 3/2
 
------------------------
 r = 6
 
 while문
 6 - 1 = 5 / 2
 5 - 2 = 3 / 3
 3 - 3 = 0 / 4
 
 if문
 result = 4/1
*/
69100kb 8ms 202b

 

다른 풀이

- 코드길이 줄어듬

var X = Int(readLine()!)!
var i = 1

while X > i {
    X -= i
    i += 1
}

if i % 2 == 1 {
    print("\(i - X + 1)/\(X)")
} else {
    print("\(X)/\(i - X + 1)")
}
62224kb 8ms 164b