알고리즘 54

문자열 두개를 받아 그 중 하나가 다른 하나의 순열인지 판단하라(2)

/** * Created by kwo2002 on 2015-07-29. * 문자열 두개를 받아 그 중 하나가 다른 하나의 순열인지 판단하라 */ object Permutation { def permutation1(a: String, b: String): Boolean = { if (a.trim.length != b.trim.length) { false } else { a.sorted.equalsIgnoreCase(b.sorted) } } def permutation2(a: String, b: String, p: Array[Char] => Array[Int]): Boolean = { if (a.trim.length != b.trim.length) { false } else { val aArr: Array[..

문자열 두개를 받아 그 중 하나가 다른 하나의 순열인지 판단하라

/** * Created by kwo2002 on 2015-07-29. * 문자열 두개를 받아 그 중 하나가 다른 하나의 순열인지 판단하라 */ object Permutation { def permutation1(a: String, b: String): Boolean = { if (a.trim.length != b.trim.length) { false }else { a.sorted.equalsIgnoreCase(b.sorted) } } def main(args: Array[String]) { println(permutation1("aaccbb", "bbccaa")) } } 1. 공백은 무시. 대소문자 무시2. 문자열 길이가 다르다면 무조건 순열이 아님.3. 문자열을 문자열.sorted 로 정렬한 후 비교..

문자열에 포함된 문자열이 유일한지 검사하는 알고리즘

/** * Created by kwo2002 on 2015-07-27. */ object UniqueChar { def validUniqueChar(text: String): Boolean = { def go(n: Int, seq: Int, text: String): Boolean = { if (n < text.length && seq < text.length) { if (text.charAt(n) == text.charAt(seq)) { false } else { go(n, seq + 1, text) } } else { if (n + 1 < text.length) { go(n + 1, n + 2, text) } else { true } } } go(0, 1, text) } def main(args: A..