Codewars 문제풀기 (05/06)

Split Strings

  • String을 인자로 받는다.

  • 인자를 2문자 씩 쪼갠 String 배열을 리턴한다.

  • String 길이가 홀수라면 끝에 _를 붙인다.

    StringSplit.solution("abcdef") 👉 {ab, cd, ef}
    StringSplit.solution("abcde") 👉 {ab, cd, e_}
    

1. Test와 리팩토링


2. 답 비교, 느낀점

Best Practice 가장 많이 받은 코드

public class StringSplitBestPractice {

  public static String[] solution(String s) {
    s = (s.length() % 2 == 0) ? s : s + "_";
    return s.split("(?<=\\G.{2})");
  }
}
  • 정규식을 사용했는데 \G가 무엇을 나타내는지 모르겠다 그래서 정규식 테스트 사이트에서 확인해봤는데

    \G asserts position at the end of the previous match or the start of the string for the first match

라고 한다. 문자열을 2개씩 쪼갤 때 이방법을 쓴다고 알아두는게 좋을것같다..

댓글남기기