반응형
[프로그래머스] Java 코딩테스트 연습 - qr code
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/181903
문제
두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return하는 solution 함수를 작성해 주세요.
풀이
'StringBuilder' 클래스를 알게 되어 처음 써봤다.
for 반복문 돌리고 if 문으로 code의 인덱스로 q를 나눴을 때 나머지가 r과 같다면 append() 메서드로 그 자리의 문자열을 뒤에 이어 붙이도록했다. toString() 메서드로 answer를 string으로 형변환 시켜주고 return.
StringBuilder: 자바에서 문자열을 동적으로 구성하기 위해 사용되는 클래스. String과 달리 불변하지 않기 때문에 문자열을 수정할 때마다 새로운 객체를 생성하지 않아도 된다. 또한, 다양한 메서드를 제공하여 문자열을 추가, 수정, 삭제하는 등의 작업을 수행할 수 있다.
append() : 문자열을 뒤에 추가
insert() : 특정 위치에 문자열 삽입
delete() : 지정된 범위의 문자열 삭제
replace() : 지정된 범위의 문자열을 다른 문자열로 대체
reverse() : 문자열 역순으로 뒤집기
setLength() : 문자열의 길이 설정
toString() : StringBuilder 객체를 문자열로 변환
소스코드
class Solution {
public String 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.toString();
}
}
반응형
'코딩테스트연습 > [프로그래머스] Java' 카테고리의 다른 글
[프로그래머스] Java 코딩테스트 연습 - 홀수 vs 짝수 (2) | 2023.06.20 |
---|---|
[프로그래머스] Java 코딩테스트 연습 - 글자 지우기 (2) | 2023.06.18 |
[프로그래머스] Java 코딩테스트 연습 - 접두사인지 확인하기 (2) | 2023.06.17 |
[프로그래머스] Java 코딩테스트 연습 - 접미사인지 확인하기 (2) | 2023.06.17 |
[프로그래머스] Java 코딩테스트 연습 - 더 크게 합치기 (2) | 2023.06.16 |