package Programmers;
public class ProgrammingBasic {
public static void main(String[] args) {
String my_string = "ihrhbakrfpndopljhygc";
solution(my_string, 4, 2);
}
public static String solution(String my_string, int m, int c) {
String[][] str = new String[my_string.length()/m][m];
int start = 0;
for(int i = 0; i < str.length; i++){
str[i] = my_string.substring(start, start + m).split("");
start += m;
}
StringBuilder answer = new StringBuilder();
for(int i = 0; i < str.length; i++){
answer.append(str[i][c -1]);
}
return answer.toString();
}
}
이차원 배열을 사용해서 풀면 어렵지 않게 풀 수 있는 문제였다. StringBuilder 대신 String을 사용해도 되지만 성능상 StringBuilder가 더 좋다고 한다.
class Solution {
public String solution(String my_string, int m, int c) {
String answer = "";
for (int i = c - 1; i < my_string.length(); i += m) {
answer += my_string.charAt(i);
}
return answer;
}
}
그리고 이런식으로 i 값을 my_string의 m값만큼 뛰어 넘어가면서 풀 수도 있었다..