// 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 |