인프런 커뮤니티 질문&답변

xogh7532님의 프로필 이미지
xogh7532

작성한 질문수

코딩테스트 실전 모의고사(with C++) : 대기업 대비

1. 숨겨진 합

숨겨진 합 자바 질문드립니다.

작성

·

69

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

문자를 a로 치환하고 숫자만 뽑으려고 하는데 a의 개수가 달라서 에러가 뜹니다. 방법이 없을까요??

import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] argvs) {
		Scanner sc = new Scanner(System.in);
		
		String s=sc.next();
		String str = s.replaceAll("[^0-9]","a"); //a로 치환
		
		int answer= 0;
		System.out.print(str);
	}
}

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

xogh7532님께서는 문자를 ‘a’로 치환하지 않고 바로 숫자만 추출해서 계산하고 싶으신 거죠? 주어진 코드에서 문자를 ‘a’로 치환하는 대신 숫자만을 추출하여 합을 구하는 코드를 아래와 같이 수정할 수 있습니다.

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] argvs) {
        Scanner sc = new Scanner(System.in);

        String s = sc.next();
        // 숫자가 아닌 문자를 제거
        String str = s.replaceAll("[^0-9]", ""); 

        int answer = 0;
        // 숫자 문자열을 순회하면서 각 숫자를 더함
        for (int i = 0; i < str.length(); i++) {
            answer += str.charAt(i) - '0'; // char를 int로 변환하여 더하기
        }

        System.out.print(answer);
    }
}

이 코드는 입력 받은 문자열 s에서 숫자가 아닌 모든 문자를 제거합니다. 그런 다음 제거된 문자열인 str을 순회하며 각 자리의 숫자를 정수로 변환하여 그 합을 answer에 더합니다. 마지막으로 최종 합인 answer를 출력합니다.

질문 내용과 직접 관련된 프로그래밍 정보가 제공되지 않았기 때문에, 주어진 정보를 기반으로 한 해답을 제공하였습니다. 추가적인 도움이 필요하시면 언제든 질문해주세요.

xogh7532님의 프로필 이미지
xogh7532

작성한 질문수

질문하기