qr code
문제
- 정수 q, r과 문자열 code가 매개변수로 주어집니다.
- code의 각 인덱스를 q를 기준으로 나누었을 때,
- 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을
- 출력하는 문제입니다.
- 입출력 예
-
q r code result 3 1 "qjnwezgrpirldywt" "jerry" 1 0 "programmers" "programmers"
-
테스트 (인텔리제이)
- 우선 반환 값의 타입을 StringBuilder로 수정하고
- for문으로 문자열 code의 길이만큼 순회하도록 합니다.
- for문 안에는 if문으로 조건을 걸어줍니다.
- 조건은 for문이 돌고 있는 순서와 q를 나눴을 때 나머지가 r과 같은
- 값의 문자를 charAt 메서드를 이용하여 answer에 추가해주면 됩니다.
package com.namji.codingtest;
public class qr_code {
public static void main(String[] args) {
/*
정수 q, r과 문자열 code가 매개변수로 주어집니다.
code의 각 인덱스를 q를 기준으로 나누었을 때,
나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을
출력하는 문제입니다.
입출력 예
q r code result
3 1 "qjnwezgrpirldywt" "jerry"
1 0 "programmers" "programmers"
입출력 설명
#1
예제 1번의 q와 r은 각각 3, 1이고
인덱스와 그 값을 q로 나눈 나머지가 잘 보이도록 표로 만들면 다음과 같습니다.
code q j n w e z g r p i r l d y w t
index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
q로 나눈 나머지 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
q로 나눈 나머지가 1인 인덱스의 문자들을
앞에서부터 순서대로 이어 붙이면 "jerry"가 되므로 이를 return 합니다.
#2
예제 2번의 q와 r은 각각 1, 0이고
인덱스와 그 값을 q로 나눈 나머지가 잘 보이도록 표로 만들면 다음과 같습니다.
code p r o g r a m m e r s
index 0 1 2 3 4 5 6 7 8 9 10
q로 나눈 나머지 0 0 0 0 0 0 0 0 0 0 0
q로 나눈 나머지가 1인 인덱스의 문자들을
앞에서부터 순서대로 이어 붙이면 "programmers"가 되므로 이를 return 합니다.
*/
int q = 1;
int r = 0;
String code = "programmers";
StringBuilder answer = new StringBuilder();
for (int i = 0; i < code.length(); i++) {
if (i % q == r) {
answer.append(code.charAt(i));
}
}
System.out.println(answer);
}
}
프로그래머스 코드
class Solution {
public StringBuilder solution(int q, int r, String code) {
StringBuilder answer = new StringBuilder();
for (int i = 0; i < code.length(); i++) {
if (i % q == r) {
answer.append(code.charAt(i));
}
}
return answer;
}
}
'Coding Test > Java Coding Test' 카테고리의 다른 글
[프로그래머스 / 자바] - 문자열 계산하기 (0) | 2024.07.31 |
---|---|
[프로그래머스 / 자바] - 공 던지기 (0) | 2024.07.30 |
[프로그래머스 / 자바] - 특수문자 출력하기 (0) | 2024.07.27 |
[프로그래머스 / 자바] - 커피 심부름 (0) | 2024.07.25 |
[프로그래머스 / 자바] - 잘라서 배열로 저장하기 (1) | 2024.07.24 |