프로그래머스 0단계 숨어있는 숫자의 덧셈(1) 문제 입니다
https://school.programmers.co.kr/learn/courses/30/lessons/120851
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
❓문제설명
문자열 my_string이 매개변수로 주어집니다. my_string 안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
⚠️ 제안사항 및 입출력 예
- 1 <= my_string의 길이 <= 1,000
- my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.
my_string | result |
"aAb1B2cC34oOp" | 10 |
"1a2b3c4d123" | 16 |
✏️ 내가 직접 짠 코드
class Solution {
public int solution(String my_string) {
int answer = 0;
for(int i=0; i<my_string.length(); i++) {
if(Character.isDigit(my_string.charAt(i))) //my_string의 i인덱스의 값이 숫자이면
answer+= my_string.charAt(i) - '0'; //answer에 my_string의 i인덱스의 값을 더해줌
}
return answer;
}
}
▲ 코드 설명은 주석 참고
⭐ 정리해야 되는 개념
- isDigit() 함수
isDigit()함수는 명시된 char 값이 숫자인지 여부를 판단하여 ture 또는 false를 리턴하는 것.
System.out.println(Character.isDigit('a')); //false
System.out.println(Character.isDigit(97)); //true
- charAt()-'0'
문자를 숫자로 반호나할때 사용함. '0'의 아스키코드가 48이기에 -'0'을 해줌.
숫자 1 -> 49 - 48 = 1
숫자 2 -> 50 - 48 = 2
숫자 3 -> 51 - 48 = 3
숫자 4 -> 52 - 48 = 4
'CodingTest' 카테고리의 다른 글
프로그래머스 - 캐릭터의 좌표 (JAVA) (0) | 2023.04.05 |
---|---|
프로그래머스 - 피자 나눠 먹기 (3) (0) | 2023.03.30 |
프로그래머스 - 외계행성의 나이 (JAVA) (0) | 2023.03.28 |
프로그래머스 - 369게임 (JAVA) (0) | 2023.03.23 |
프로그래머스 - 모음 제거 (JAVA) (0) | 2023.03.23 |