Codewars 문제풀기 (05/25)
Scramblies
-
String 2개를 입력으로 받는다.
-
첫번째 인자 String을 재배열해서 두번째 인자 String을 만들 수 있는지 체크하는 메서드를 만들어라.
-
입력 String은 only lowercase letter이고 기호나 숫자는 포함하지않는다.
scramble("rkqodlw", "world") 👉 world를 만들 수 있다(worldkq) 👉 true scramble("cedewaraaossoqqyt", "codewars") 👉 true scramble("katas", "steak") 👉 'e'가 없기 때문에 만들 수 없다 👉 false
1. Test와 리팩토링
-
테스트 1 - 입력 인자가 “rkqodlw”, “world” 일 때 True이다.
-
테스트 2 - 입력 인자가 “katas”, “steak”일 때 False이다.
2. 답 비교, 느낀점
Best Practice 가장 많이 받은 코드
public class Scramblies {
public static boolean scramble(String str1, String str2) {
if (str2.length() > str1.length()) return false;
for (String s: str2.split("")) {
if (!str1.contains(s)) return false;
str1 = str1.replaceFirst(s,"");
}
return true;
}
}
- str1의 문자들로 str2를 재배열이 아닌, str2의 문자들이 str1에 있는지 확인해서 true, false를 리턴했다.
댓글남기기