본문 바로가기

내일배움캠프/Today I Learned

[내배캠] 열여덟번째 회고록

■ 문제 
문자열 my_str과 n이 매개변수로 주어질 때, 
my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.

답안 예시 :
"abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다.
class Solution {
public String[] solution(String my_str, int n) {
  int len = (int)Math.ceil((double)my_str.length()/n);
  String[] result = new String[len];
 result = my_str.split("(?<=\\G.{" + n + "})"); 
 return result;
 }
}

💻 [ 내가 짠 코드 분석 ]

문자열을  자르는 방법은 크게 두 가지로 분류할 수 있다.

(1) substring()을 사용하는 방법과 (2) split()메소드를 사용하는 방법

나는 String 클래스에서 제공하는 split() 메서드의  문자열 또는 문자열로 구성된 정규표현식을 사용하여 n길이 만큼 문자열을 자를 수 있었다. 

그러나 솔직히 말하면 이 정규식이 정확하게 어떤 기준으로 동작하는지 완벽하게 이해가 가지 않는다. 

하여 오늘은 정규식에 대해서 깊이 있게 공부해보려고 한다.