본문 바로가기

Java/프로그래머스

[JAVA] 프로그래머스 - 문자열 정수의 합

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

 

프로그래머스

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

programmers.co.kr

 

 

 

정답 

 

class Solution {
    public int solution(String num_str) {
        int answer[] = new int[num_str.length()];
        
        int sum = 0;
        for(int i=0; i<num_str.length(); i++)
        {
            answer[i] = num_str.charAt(i) -'0';
            sum+=answer[i];
        }
        return sum;
    }
}

 

 

char를 int로 형 변환 

[Java 문법 총정리] 문자열 ↔ 숫자 형변환 / int ↔ char (tistory.com)

 

[Java 문법 총정리] 문자열 ↔ 숫자 형변환 / int ↔ char

💡 대부분의 내용을 점프 투 자바 에서 참고하여 정리하였습니다. 형변환 (문자열 ↔ 숫자) 문자열을 숫자로 Integer.parseInt() String str = "100"; int i = Integer.parseInt(str); Long i = Integer.parseLong(str); int형

happindex.tistory.com

- char를 int로 변환할 때는 (int)나 Integer.parseInt, Integer.valueOf를 사용하면 아스키코드 값이 출력되어 원하는 값이 나오지 않는다. 

 

아스키 코드 사용 

- 아스키 코드 표에서, 문자 0~9는 48~57의 순서로 되어 있다. 

- 따라서 문자 '1'의 아스키 코드에서 문자 '0'의 아스키 코드를 빼주면 원하는 숫자 1을 얻을 수 있다. 

 

char c = '1';
int n = c - '0';

System.out.println(n); // 결과: 1