■ 공부/JAVA

[JAVA] 문자열에서 숫자만 추출하여 합산하기 (isDigit 사용)

J U N E 2024. 1. 14. 21:45
// 5. 아래 문자열에서 단어 사이에 있는 수들의 합을 구하는 코드를 작성해주세요.
String s51 = "hello123java45is91fun14"; // 정답 273
String s52 = "100hidden30number10finding20is40so60hard20"; // 정답 280
String s53 = "a1b2c3d4e5f6g7"; // 정답 28

 

int sum = 0;
String intstr = "";
for (char ch : s52.toCharArray()) {
    if (Character.isDigit(ch)) {
        intstr += ch;
    } else if (!intstr.isEmpty()) {
        sum += Integer.parseInt(intstr);
        intstr = "";
    }
}
if (!intstr.isEmpty()) sum += Integer.parseInt(intstr);
System.out.println(sum);

 

1. 배열에 한글자씩 넣는다
2. char가 숫자면 intstr에 대입
3. 숫자도 아니고, instr에 뭔가 값이 들어있다면
4. Integer형으로 변환, 더한 후 sum에 대입시켜주고
5. instr값은 초기화 한다.
---
6. 배열에 더 넣을게 없어서 for문을 종료했는데 intstr에 값이 아직 있으면
7. 한 번 더 더해서 sum에 대입시키고 마무리

'■ 공부 > JAVA' 카테고리의 다른 글

[JAVA] Deque  (0) 2024.01.22
[JAVA] Queue  (1) 2024.01.22
[JAVA] 메모장 만들기 : 메뉴 소스  (0) 2024.01.18
[JAVA ] IntelliJ GUI폼 작성시  (1) 2024.01.15
[JAVA] Calendar클래스 응용  (0) 2024.01.14