프로그래밍/Scala

Array[A]가 주어진 비교 함수에 의거해서 정렬되어 있는지 점검하는 함수를 구현하라.

모지사바하 2015. 8. 4. 13:29
package scala

/**
* Created by kwo2002 on 2015-08-04.
*/
object Chapter2 {
def isSorted[A](as: Array[A], ordered: (A, A) => Boolean): Boolean = {
def go(n: Int): Boolean = {
if (n >= as.length - 1) {
true
} else {
if (ordered(as(n), as(n + 1))) {
go(n + 1)
} else {
false
}
}
}

go(0)
}

def main(args: Array[String]) {
print(isSorted[Int](Array(1, 3, 2, 9),
(a, b) => if (a < b) true else false
))
}

}

회고.

사실 처음에는 isSorted 만 만들고 글을 작성했다가, 


Test 해보고 수정함 -_-;;


아무리 쉽다고 생각하는 문제도 꼼꼼히 풀자. 과신하지 말자