Swift로 아르고식을 추진할 때 편리한 함수들(수시로 업데이트)

11154 단어 Swift아르고 식tech

아르고 식


https://algo-method.com/
아르고 식
• 프로그래밍과 정보과학을 꾸준히 배울 수 있는'교과서'
• 게임의 느낌으로 배운 내용을 대량으로 실천할 수 있는'연습문제'
의 두 가지 구성으로, 웹에서 완성된 학습 내용입니다.
처음에는 알고리즘을 복습해 보려고 했어요.

편리한 함수


utils.swift
import Foundation

// 標準入力から整数をひとつ取得
func readInt() -> Int {
    return Int(readLine()!)!
}

// 標準入力から空白区切りの文字列を配列で取得
func readArrayString() -> [String] {
    return readLine()!.split(separator: " ")
        .map { String($0) }
}

// 標準入力から空白区切りの整数を配列で取得
func readArrayInt() -> [Int] {
    return readLine()!.split(separator: " ")
        .map { Int(String($0))! }
}

// 標準出力にYesかNoを出力(アルゴ式でよくある出力)
func printYesNo(_ flag: Bool) {
    print(flag ? "Yes" : "No")
}

// もらった整数が素数かどうかをそこそこの速さで判定
func isPrime(n: Int) -> Bool {
    if n == 1 { return false }
    if n == 2 { return true }
    if n % 2 == 0 { return false }
    var i = 3
    while i * i <= n {
        if n % i == 0 { return false }
        i += 2
    }
    return true
}

// もらった整数の約数を配列で返す
func divisor(n: Int) -> [Int] {
    var array = [Int]()
    var i = 1
    while i * i <= n {
        if n % i == 0 {
            array.append(i)
            if i * i != n {
                array.append(n / i)
            }
        }
        i += 1
    }
    return array.sorted()
}

// 文字列を反転する
func reversedString(str: String) -> String {
    return String(str.reversed())
}

// 回文かどうかを判定する(アルゴ式は回文が好きらしい)
func isPalindrome(str: String) -> Bool {
    return str == reversedString(str: str)
}

좋은 웹페이지 즐겨찾기