inblog logo
|
moohyun
    알고리즘문제풀기

    숨어있는 숫자의 덧셈 (1)

    난이도 하
    화낼거양's avatar
    화낼거양
    Dec 30, 2024
    숨어있는 숫자의 덧셈 (1)
    Contents
    정답
     
    출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120851
     

    문제 설명

    문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

    제한사항

    • 1 ≤ my_string의 길이 ≤ 1,000
    • my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.

    입출력 예

    my_string
    result
    "aAb1B2cC34oOp"
    10
    "1a2b3c4d123"
    16

    입출력 예 설명

    입출력 예 #1
    • "aAb1B2cC34oOp"안의 한자리 자연수는 1, 2, 3, 4 입니다. 따라서 1 + 2 + 3 + 4 = 10 을 return합니다.
    입출력 예 #2
    • "1a2b3c4d123Z"안의 한자리 자연수는 1, 2, 3, 4, 1, 2, 3 입니다. 따라서 1 + 2 + 3 + 4 + 1 + 2 + 3 = 16 을 return합니다.

    유의사항

    • 연속된 숫자도 각각 한 자리 숫자로 취급합니다.
     
    기본적으로 주어진 코드 :
    class Solution { public int solution(String my_string) { int answer = 0; return answer; } }
     
     

    정답

     
    class Solution { public int solution(String my_string) { int answer = 0; for (int i = 0; i < my_string.length(); i++) { try { answer += Integer.parseInt(String.valueOf(my_string.charAt(i))); } catch (Exception e) {} } return answer; } }
     

    코드 설명

     
    메서드 정의 및 변수 초기화
    public int solution(String my_string) { int answer = 0;
    • solution 메서드는 문자열 my_string을 입력받아, 각 문자를 숫자로 변환한 값의 합을 반환합니다.
    • answer 변수는 합계를 저장하기 위해 초기화됩니다.
     
    문자열 순회 및 숫자 변환
    for (int i = 0; i < my_string.length(); i++) { try { answer += Integer.parseInt(String.valueOf(my_string.charAt(i))); } catch (Exception e) {} }
    • for 루프를 사용하여 문자열 my_string의 각 문자를 순회합니다.
    • 각 문자를 String.valueOf로 문자열로 변환하고, 이를 Integer.parseInt를 통해 정수로 변환합니다.
    • 변환된 정수를 answer에 더합니다.
    • 만약 변환 중에 예외가 발생하면 (Exception), 이를 무시하고 계속 진행합니다. 이는 숫자가 아닌 문자를 처리할 때 유용합니다.
     
    결과 반환
    return answer;
    • answer 변수에 저장된 숫자들의 합을 반환합니다.
     
     

    예제

    입력: "a1b2c3"
    • 순회 및 변환:
      • 'a': 변환 실패 (무시)
      • '1': 1로 변환 후 합계 내 answer에 추가 (answer = 1)
      • 'b': 변환 실패 (무시)
      • '2': 2로 변환 후 합계 내 answer에 추가 (answer = 3)
      • 'c': 변환 실패 (무시)
      • '3': 3로 변환 후 합계 내 answer에 추가 (answer = 6)
    • 출력: 6
    Share article
    Contents
    정답

    moohyun

    RSS·Powered by Inblog