코딩테스트

프로그래머스 코딩테스트 QR CODE JAVA

daeyun대윤 2024. 2. 27. 11:51

QR CODE

 

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/181903

 

프로그래머스

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

programmers.co.kr

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

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

 

문자열 이어 붙일 떄, String.valueOf() 없이 code.charAt(i) 이렇게만 해줘도 된다. 왜냐면 자바의 문자열 연산의 특징중 하나라고 한다. char를 String에 연결(concatenate) 하는 것이라 자동으로 String으로 변환 처리 된다고 한다.

 

자바에서는 문자열과 다른 데이터 타입 간에 '+' 연산자를 사용하면, 다른 데이터 타입을 자동으로 문자열로 변환하여 처리 한다. 이를 '문자열 연결' 또는 String concatenation

 

그래서 위 코드에서 String.valueOf() 없이도 잘 동작한다. 없어도 잘 동작하지만... 명시적으로 써주는게 좋겠찌?

728x90
300x250