study/TIL🐥

[JAVA] String을 char로, char를 int로

서나쓰 2021. 3. 16. 13:35
728x90

코딩테스트 알고리즘을 공부하다가 나오게 된 문제 유형

String으로 '02349' 이렇게 주어졌을 때 숫자 하나씩 꺼내와서 값을 연산해야 한다.

String str = "02547";

//첫번째 문자열을 숫자로 변환
long result = str.charAt(0)-'0';
//아스키코드인 '0'을 빼면 숫자로 변환이 된다
for(int i=0; i<str.length; i++) {
	int num = str.charAt(i)-'0';
    if(num<=1 || result<=1){
    	result += num;
    } else {
    	result *= num;
    }
}

 

String에서 한 문자를 char로 꺼내는 것은 charAt() 메서드 사용해 char로 꺼낼 수 있다.

이 char 특성상 ASCII 코드 사용해서 char를 숫자형으로 바꿀 수 있다.

charAt으로 뽑아온 숫자가 9일 경우 ASCII 코드로는 57이고, 0은 48이기에 자동으로 9로 계산된다.

외워둘 메서드!

728x90