/* 숨어있는 숫자의 덧셈 (1)
* 문자열 my_string이 매개변수로 주어집니다.
* my_string안의 모든 자연수들의 합을 return
*
* 1 ≤ my_string의 길이 ≤ 1,000
* my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.
*
* my_string result
* "aAb1B2cC34oOp" 10 1+2+3+4
* "1a2b3c4d123" 16 1+2+3+4+1+2+3
*/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | import java.util.*; import java.util.regex.Pattern; import java.util.regex.Matcher; public class programmer_0_66 { static String a1 = "aAb1B2cC34oOp"; static String a2 = "1a2b3c4d123"; public int solution(String my_string) { int answer = 0; /* 다른 사람 풀이 //1번 정규식 String pattern = "^[0-9]*$"; String[] list = my_string.split(""); for(int i = 0; i < list.length; i ++) { if(Pattern.matches(pattern,list[i])) { answer += Integer.parseInt(list[i]); } } //2번 반복문, 범위 for(char c : my_string.toCharArray()){ if(c >= '0' && c <= '9'){ answer += c - '0'; } } */ String[] ar = my_string.split(""); for(String i : ar){ if(i.equals("1") || i.equals("2") || i.equals("3") || i.equals("4") || i.equals("5") || i.equals("6") || i.equals("7") || i.equals("8") || i.equals("9")) answer += Integer.parseInt(i); } return answer; } public static void main(String args[]){ programmer_0_66 t = new programmer_0_66(); System.out.println("---------------------------------------"); System.out.println("result = " + t.solution(a1)); System.out.println("---------------------------------------"); // System.out.println("result2 = " + t.solution(a2)); // System.out.println("---------------------------------------"); } } | cs |
'프로그래머스 > lv0' 카테고리의 다른 글
| 최댓값 만들기 (1) (0) | 2022.12.05 |
|---|---|
| 순서쌍의 개수 (1) | 2022.12.05 |
| 숨어있는 숫자의 덧셈 (2) (1) | 2022.12.05 |
| 모음 제거 (0) | 2022.12.05 |
| 개미 군단 (0) | 2022.12.05 |