[Swift] 백준알고리즘 #1193

📝 문제

무한히 큰 배열에 다음과 같이 분수들이 적혀있다.

이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.
X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.

⌨️ 입력

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

🖨 출력

첫째 줄에 분수를 출력한다.

⌨️ 예제 입력 1

1

🖨 예제 출력 1

1/1

⌨️ 예제 입력 2

14

🖨 예제 출력 2

2/4

📚 내가 제출한 코드

let input = readLine()!
var N = Int(input)!
var n : Int = 1
while true {
    let temp = N - n
    if temp <= 0 {
        if n % 2 == 0 {
            print("\(N)/\((n - N + 1))")
            break
        } else {
            print("\(n - N + 1)/\(N)")
            break
        }
    } else if temp > 0 {
        N = temp
        n += 1
    }
}

✏️ 내가 제출한 코드에 대한 설명

  • readLine() : 키보드로 입력한 값을 받는 함수
  • 메모리 : 62224 KB
  • 시간 : 8 ms
  • 코드 길이 : 345 B

좋은 웹페이지 즐겨찾기