프로그래밍/Scala
Array[A]가 주어진 비교 함수에 의거해서 정렬되어 있는지 점검하는 함수를 구현하라.
kwo2002
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 해보고 수정함 -_-;;
아무리 쉽다고 생각하는 문제도 꼼꼼히 풀자. 과신하지 말자