프로그래머스 문제풀어보기

[Lv.0] 가장 큰 수 찾기

dantriss 2023. 2. 27. 01:28


https://school.programmers.co.kr/learn/courses/30/lessons/120834

 

 

0~9를 a부터 j까지 바꿔주면 되는 문제다.

Integer.toString(int) 를 사용해 문자열 changed에 age를 String으로 형변환 해준다.

그 후 문자열 changed의 길이만큼 반복문을 사용해 반복해 바꿔주자.

여기서 length와 length()의 차이는 아래와 같다.

 

length -> 배열의 길이

length() -> 문자열의 길이

 

문자열 answer에 숫자에서 소문자로 변경해준 값을 넣어줄건데

chatAt(int) 함수를 사용했다.

int 자리에 int형 변수를 넣어서 원하는 위치의 문자를 가지고 올 수 있다,.

 

문자열 changed의 0번째 글자를 가져와 49를 더한 후 char로 형변환을 한 후 answer에 저장한다.

여기서 왜 49를 더하냐면

아스키코드를 활용해 문자 a에 해당하는 값에서 문자 0을 해당하는 값을 빼면 49가 나오기 때문이다.

 

이러면 입력한 숫자가 소문자로 변경되어 나온다.

import java.util.*;
class Solution {
    public String solution(int age) {
        String answer = "";
        String changed = Integer.toString(age);
        
        for(int i =0; i<changed.length(); i++){
            answer += (char)(changed.charAt(i)+49);
            
        }


        return answer;
    }
}

 

참조 : 

charAt()함수 참조