본문 바로가기

코딩테스트/Coding Bat

[코딩뱃] [자바] Warmup - 1단계 : everyNth 문제

728x90
728x90

https://codingbat.com/prob/p196441

 

CodingBat Java Warmup-1 everyNth

Given a non-empty string and an int N, return the string made starting with char 0, and then every Nth char of the string. So if N is 3, use char 0, 3, 6, ... and so on. N is 1 or more.everyNth("Miracle", 2) → "Mrce"everyNth("abcdefg", 2) → "aceg"every

codingbat.com



= 문제 번역 =

비어 있지 않은 문자열과 int N이 주어지면 char 0으로 시작하여 문자열의 N번째 문자마다 만들어진 문자열을 반환합니다. 

따라서 N이 3이면 char 0, 3, 6, ... 등을 사용합니다. N은 1 이상이다.

 

= 해설 =

< 1 >
public String everyNth(String str, int n) {
  String result = "";
  
  // Look at every nth char
  for (int i=0; i<str.length(); i = i + n) {
    result = result + str.charAt(i);
  }
  return result;
}

int i = 0에서 시작하기 때문에, i를 i+n으로 해도 되지만, 

나는 str 글자를 배열로 나타내서 배열의 인덱스가 %n을 했을 때 0이라면, result의 그 인덱스에 위치한 글자가 추가되게 문제를 풀고싶다.

하지만 그것 보다는 codingbat에서 제시한 해설이 더 간결하고 정확하다!

나중에 내가 원하는 방식대로 풀 수 있길 희망한다.ㅜㅜ

728x90