티스토리 뷰
자바 풀이
class Solution {
public String solution(int age) {
String answer = "";
String ageStr= Integer.toString(age);
for(int i=0; i<ageStr.length(); i++){
answer += (char)(ageStr.charAt(i)+49);
}
return answer;
}
}
Integer.toString()
int 를 string 으로 변환하는 방법 중 하나이다. 다른 방법으로는 String.valueOf()가 있다.
차이점
입력된 문자열이 null 이라면 두 함수의 대응점이 다르다.
Integer.toString() 은 "Null PointerException" 오류가 발생하고 String.valueOf() 는 "null"이라는 문자열로 처리한다.
null을 오류가 아닌 문자열로 처리해야 할때 String.valueOf() 를 사용하고 이외에는 Integer.toString()을 추천한다고 함.
charAt() 메소드
자바에서는 문자열에서 특정 위치의 문자를 얻고 싶다면 charAt() 메소드를 이용 할 수 있다.
이 메소드는 매개값으로 주어진 인덱스의 문자를 리턴한다.
여기서 인덱스란 0에서부터 '문자열의 길이-1' 까지의 번호를 말한다.
예를들어,
String subject = "자바 프로그래밍"
char charValue = subject.charAt(3);
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
자 | 바 | 프 | 로 | 그 | 래 | 밍 |
"자바 프로그래밍" 이라는 문자열의 charAt(3)은 3번 인덱스에 있는 '프' 가 해당되는 것이다.
아스키 코드
0의 아스키 코드는 48이고, a는 97이다
49 만큼 차이가 나는 것을 확인 할 수 있다.
charAt() 메소드에 i 값(String으로 변환한 age)을 넣고
해당 문자에 49를 더해서 (char)형으로 형을 변환하여 출력하면
a 부터 j까지 리턴되는 것이다.
---------
+ 다른사람들 풀이에 스트림으로 간z 나게 풀어져 있는 것을 보았다. 지금 공부중인데 노력해야겠음,,!
'programmers' 카테고리의 다른 글
[프로그래머스] 진료순서 정하기 (0) | 2023.11.22 |
---|---|
[프로그래머스] 구슬을 나누는 경우의 수 (0) | 2023.11.21 |
[프로그래머스] 점의 위치 구하기 (0) | 2023.11.20 |
[프로그래머스] n의 배수 고르기 (0) | 2023.11.20 |
[프로그래머스] 피자 나눠먹기(3) (0) | 2023.11.19 |