開発環境
- OS X Mavericks - Apple(OS)
- Xcode 6.0 Beta 6
- Swift (プログラミング言語)
Practical Programming: An Introduction to Computer Science Using Python 3 (Pragmatic Programmers) (Paul Gries (著)、Jennifer Campbell (著)、Jason Montojo (著)、Lynn Beighley (編集)、Pragmatic Bookshelf)のChapter 11(Storing Data Using Other Collection Types)、11.8(Exercises) 1.をSwiftで考えてみる。
11.8(Exercises) 1.
コード(Xcode)
main.swift
//
// main.swift
// sample1
//
// Created by kamimura on 10/2/14.
// Copyright (c) 2014 kamimura. All rights reserved.
//
import Foundation
func makeRandArray() -> [UInt32] {
var result:[UInt32] = []
for x in 0..<20 {
result.append(arc4random() % 10 + 1)
}
return result
}
func index(num:Int, nums:[Int]) -> Int? {
for i in 0..<nums.count {
if num == nums[i] {
return i
}
}
return nil
}
func findDups(nums:[Int]) -> [Int] {
var nums1:[Int] = []
var nums2:[Int] = []
for num in nums {
if index(num, nums1) != nil {
if index(num, nums2) == nil {
nums2.append(num)
}
} else {
nums1.append(num)
}
}
return nums2
}
let nums1:[Int] = makeRandArray().map({(n:UInt32) in Int(n)})
let nums2:[Int] = makeRandArray().map({(n:UInt32) in Int(n)})
println(nums1)
println(findDups(nums1))
println(nums2)
println(findDups(nums2))
入出力結果(Console Output)
[1, 7, 9, 7, 2, 1, 7, 9, 2, 6, 1, 6, 1, 3, 10, 1, 5, 10, 5, 8] [7, 1, 9, 2, 6, 10, 5] [7, 5, 8, 4, 4, 1, 8, 3, 7, 9, 9, 4, 9, 10, 8, 6, 10, 9, 2, 7] [4, 8, 7, 9, 10] Program ended with exit code: 0
0 コメント:
コメントを投稿