Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 파이썬 #input() #sys.stdin.readline() #공부 #study
- 프로그래머스 #2차원으로 만들기 #알고리즘 #Java #자바 #study #코린이 #개발자 #공부 #성장
- 프로그래머스 #특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #조건에 맞는 사용자와 총 거래금액 조회하기 #알고리즘 #Mysql #DB #쿼리문 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #오랜 기간 보호한 동물(1) #알고리즘 #MySQL #DB #쿼리문 #개발자 #study #성장 #코린이
- 프로그래머스 #있었는데요 없었습니다 #DB #MySQL #알고리즘 #쿼리문 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #세로 읽기 #알고리즘 #개발자 #코린이 #study #성장 #Java #자바
- 백준 #
- 프로그래머스 #배열 회전시키기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #문자열이 몇 번 등장하는지 세기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #수열과 구간 쿼리 3 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #푸드 파이트 대회 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #열의 길이를 2의 거듭제곱으로 만들기 #Java #자바 #알고리즘 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #날짜 비교하기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #등차수열의 특정한 항만 더하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부
- 프로그래머스 #소수 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #조건에 맞게 수열 변환하기 1 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #배열만들기 5 #알고리즘 #study #Java #코린이 #개발자 #성장 #공부
- 프로그래머스 #합성수 찾기 #알고리즘 #Java #자바 #stiudy #코린이 #개발자 #공부 #성장
- 프로그래머스 #중복된 문자 제거 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #간단한 식 계산하기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 코린이 #개발자 #study
- 프로그래머스 #부분 문자열 이어 붙여 문자열 만들기 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
- 프로그래머스 #수열과 구간 쿼리1 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #조건별로 분류하여 주문상태 출력하기 #MySQL #쿼리문 #알고리즘 #코린이 #개발자 #study #취준
- 프로그래머스 #문자열 뒤집기 #알고리즘 #Java #자바 #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #길이에 따른 연산 #알고리즘 #자바 #Java #코린이 #개발자 #study #취준
- 프로그래머스 #1로 만들기 #알고리즘 #자바 #Java #코린이 #개발자 #study #공부 #성장
- 프로그래머스 #카테고리 별 도서 판매량 집계하기 #알고리즘 #쿼리문 #MySQL #코린이 #개발자 #study #취준
- 프로그래머스 #할 일 목록 #알고리즘 #Java #자바 #코린이 #개발자 #study #취준
Archives
- Today
- Total
luke
[백준] - 약수들의 합 (9506) (자바/Java) 본문
https://www.acmicpc.net/problem/9506
9506번: 약수들의 합
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.
www.acmicpc.net
문제.

풀이.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
int N = sc.nextInt();
int[] arr = new int[N];
int res = 0;
int index = 0;
if (N == -1) {
break;
}
for (int i = 1; i < N; i++) {
if (N % i == 0) {
arr[index++] = i;
res += i;
}
}
if (res != N) {
System.out.println(N + " is NOT perfect.");
continue;
}
System.out.print(N + " = ");
for (int i = 0; i < index; i++) {
if(i == index-1)
System.out.print(arr[i]);
else
System.out.print(arr[i] + " + ");
}
System.out.println();
}
sc.close();
}
}
이번 문제는 약수들의 합을 구하는 문제다!
출력만 봐서는 살짝,,?겁먹을수도 있지만 크게 어렵지는 않다!
바로 풀이 해보겠다.
1. while문으로 시작한다. 문제를 보면 -1을 입력했을때 더이상 출력이 나오지 않아 break를 걸어준다.
2. 이제 약수를 담을 배열과, 약수들의 합 변수(res), 약수를 찾을 변수(index)를 만들어 준다.
3. 약수를 구하기 위한 로직을 통해 약수일 경우 약수를 찾을 변수(index)를 1씩 증가시켜 배열에 담아준다.
4. 약수의 합을 구하기 위해 3번 조건에 충족 할때마다 더해준다.
5. 약수 합과 입력한 값이 다르다면 " is NOT perfect. " 라는 문구 출력 조건 식을 만든다.
6. 마지막으로 약수들을 찾을때마다 증가했던 index변수 수 만큼 돌려 출력해주면 끝이다.
'알고리즘문제 > 백준 문제(Java)' 카테고리의 다른 글
| [백준] - 약수 구하기 (2501) (자바/Java) (4) | 2024.03.29 |
|---|---|
| [백준] - 대표값2 (2587) (자바/Java) (0) | 2024.03.28 |
| [백준] - 나이순 정렬 (10814) (자바/Java) (0) | 2024.03.26 |
| [백준] - 그대로 출력하기2 (11719) (자바/Java) (0) | 2024.03.23 |
| [백준] - 세로읽기 (10798) (자바/Java) (2) | 2024.03.22 |