본문 바로가기
알고리즘 & 코딩 테스트/[Java]프로그래머스

[프로그래머스_Java] Lv.0 qr code

by heosj 2024. 1. 8.

문제 설명

두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

 

제한사항

  • 0 ≤ r < q ≤ 20
  • r < code의 길이 ≤ 1,000
  • code는 영소문자로만 이루어져 있습니다.


풀이

class Solution {
    public String solution(int q, int r, String code) {
        String answer = "";
        char[] arr = code.toCharArray();
        
        for (int i=0; i<arr.length; i++) {
            if (i % q == r) {
                answer += arr[i];
            }
        }
        return answer;
    }
}

 

다른 방법

class Solution {
    public String solution(int q, int r, String code) {
        StringBuilder temp = new StringBuilder();

        for (int i = r; i < code.length(); i += q) {
            temp.append(code.charAt(i));
        }

        return temp.toString();
    }
}
  • 예를 들어, q가 3이고 r이 1인 경우, 인덱스 1, 4, 7, 10, ... 등의 문자만을 찾는 방식

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr