[JAVA 문제 풀이] 72. 숨어있는 숫자의 덧셈 (2)

프로그래머스 (120864)
Stupefyee's avatar
Feb 04, 2025
[JAVA 문제 풀이] 72. 숨어있는 숫자의 덧셈 (2)
notion image

내가 작성한 코드

💡
class Solution { public int solution(String my_string) { int answer = 0; StringBuilder numericString = new StringBuilder(); // 숫자 문자열을 저장할 StringBuilder String[] str = my_string.split(""); // 입력 문자열 배열화 for(int i = 0; i < str.length; i++) { if (isNumeric(str[i])) { // 현재 문자가 숫자일 경우 numericString.append(str[i]); // 숫자 문자열에 해당 문자를 추가 } else if (numericString.length() != 0){ // 현재 문자가 숫자가 아니고 숫자 문자열이 비어있지 않다면 answer += Integer.parseInt(numericString.toString()); // 숫자 문자열을 정수로 변환하여 결과에 더함 numericString.setLength(0); // 숫자 문자열을 초기화 } } if (numericString.length() != 0) { // 반복문이 끝난 후에도 숫자 문자열이 남아 있다면 answer += Integer.parseInt(numericString.toString()); // 남은 숫자 문자열을 정수로 변환하여 더함 } return answer; // 결과 반환 } // 문자열이 숫자인지 판별하는 함수 public boolean isNumeric(String str) { try { Integer.parseInt(str); return true; } catch (NumberFormatException e) { return false; } } }

다른 사람의 코드

💡
class Solution { public int solution(String my_string) { int answer = 0; // 정규식을 이용해 모든 문자열 공백으로 치환 후 공백을 기준으로 배열화 String[] str = my_string.replaceAll("[a-zA-Z]", " ").split(" "); // 숫자만 더하기 for(String s : str){ if(!s.equals("")) answer += Integer.valueOf(s); } return answer; } }
 
Share article

stupefyee