✅ 문제

8자리 정수를 입력받아 반복문을 활용하여 입력받은 정수의 합을 구하여 출력하는 프로그램을 작성하시오.
✅ 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num = sc.nextInt();
int result = 0;
for (int i = 0; i < 8; i++) {
result += num % 10;
num /= 10;
}
System.out.println("합은 " + result + "입니다.");
sc.close();
}
}
✅ 추론 과정
내가 처음에 생각해낸 방법은 8칸짜리 배열을 하나 선언하는 것이었다. 그래서 입력받은 숫자를 하나씩 쪼개서 칸에 집어 넣고 for문을 돌려 배열 요소를 꺼내 오면서 누적합을 시켜주며 변수에 저장하는 것이었는데 잘 생각해보니까 굳이 배열을 선언해 줄 필요가 없는 문제였다
내가 처음 생각한 방법대로 코드를 쓰려면 splitNumberIntoArray 메소드를 사용하여 주어진 숫자 문자열을 각 숫자로 분리하여 배열에 저장해 줘야 한다. 이 메소드는 문자열을 반복하여 각 문자(숫자)를 Character.getNumericValue 메소드를 사용하여 정수로 변환한 후 배열에 추가시켜주는 것이었다. 하지만 메소드 자체도 생소하고 굳이 배열까지 선언해줄 필요도 없기 때문에 다른 방법을 생각해 보게 되었다.
결국 주어진 숫자를 10으로 나눈 나머지값을 변수에 누적시키고, 누적이 끝나면 숫자를 10으로 나눈 몫으로 똑같은 과정을8번 반복하면 결국 모든 자릿수의 숫자를 더한 값을 구할 수 있다.
'코딩테스트 > JavaFestival(스마트인재개발원)' 카테고리의 다른 글
[자바페스티벌] 18번 - 중복이 없이 숫자를 뽑는 로또 프로그램 만들기 (1) | 2024.03.26 |
---|---|
[자바페스티벌] 17번 - 숫자를 입력받아 3의 배수인 숫자 출력하기 (1) | 2024.03.25 |
[자바페스티벌] 15번 - 1, 2, 4, 7, 11 과 같은 수열의 n번째 항까지 출력하기 (0) | 2024.03.25 |
[자바페스티벌] 14번 - 2차원 배열에 숫자 저장하고 출력하기 (0) | 2024.03.25 |
[자바페스티벌] 13번 - 문자열로 선언된 성적 별 학생수 출력하기 (0) | 2024.03.25 |
✅ 문제

8자리 정수를 입력받아 반복문을 활용하여 입력받은 정수의 합을 구하여 출력하는 프로그램을 작성하시오.
✅ 코드
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("정수 입력 : "); int num = sc.nextInt(); int result = 0; for (int i = 0; i < 8; i++) { result += num % 10; num /= 10; } System.out.println("합은 " + result + "입니다."); sc.close(); } }
✅ 추론 과정
내가 처음에 생각해낸 방법은 8칸짜리 배열을 하나 선언하는 것이었다. 그래서 입력받은 숫자를 하나씩 쪼개서 칸에 집어 넣고 for문을 돌려 배열 요소를 꺼내 오면서 누적합을 시켜주며 변수에 저장하는 것이었는데 잘 생각해보니까 굳이 배열을 선언해 줄 필요가 없는 문제였다
내가 처음 생각한 방법대로 코드를 쓰려면 splitNumberIntoArray 메소드를 사용하여 주어진 숫자 문자열을 각 숫자로 분리하여 배열에 저장해 줘야 한다. 이 메소드는 문자열을 반복하여 각 문자(숫자)를 Character.getNumericValue 메소드를 사용하여 정수로 변환한 후 배열에 추가시켜주는 것이었다. 하지만 메소드 자체도 생소하고 굳이 배열까지 선언해줄 필요도 없기 때문에 다른 방법을 생각해 보게 되었다.
결국 주어진 숫자를 10으로 나눈 나머지값을 변수에 누적시키고, 누적이 끝나면 숫자를 10으로 나눈 몫으로 똑같은 과정을8번 반복하면 결국 모든 자릿수의 숫자를 더한 값을 구할 수 있다.
'코딩테스트 > JavaFestival(스마트인재개발원)' 카테고리의 다른 글
[자바페스티벌] 18번 - 중복이 없이 숫자를 뽑는 로또 프로그램 만들기 (1) | 2024.03.26 |
---|---|
[자바페스티벌] 17번 - 숫자를 입력받아 3의 배수인 숫자 출력하기 (1) | 2024.03.25 |
[자바페스티벌] 15번 - 1, 2, 4, 7, 11 과 같은 수열의 n번째 항까지 출력하기 (0) | 2024.03.25 |
[자바페스티벌] 14번 - 2차원 배열에 숫자 저장하고 출력하기 (0) | 2024.03.25 |
[자바페스티벌] 13번 - 문자열로 선언된 성적 별 학생수 출력하기 (0) | 2024.03.25 |