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 |
29 | 30 | 31 |
Tags
- 백준 #일곱 난쟁이 #2309 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #동명 동물 수 찾기 #알고리즘 #코린이 #개발자
- 프로그래머스 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #4153 #직각삼각형 #알고리즘 #자바 #java #코린이 #개발자 #study
- 백준 #다이얼 #5622 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #mysql #역순 정렬하기 #알고리즘 #코린이 #개발자 #study
- mysql #min() #max() #최소값 #최대값 #코린이 #개발자 #study
- 프로그래머스 #mysql #경기도에 위치한 식품창고 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #
- 프로그래머스 #mysql #알고리즘 #자동차 대여 기록에서 장기/단기 대여 구분하기 #코린이 #개발자 #study
- 프로그래머스 #아픈 동물 찾기 #mysql #알고리즘 #코린이 #개발자 #study
- 코린이 #개발자 #study
- 프로그래머스 #mysql #흉부외과 또는 일반외과 의사 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #모음 제거 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #python 개발자 찾기 #알고리즘 #mysql #코린이 #개발자 #study
- 특정 옵션이 포함된 자동차 리스트 구하기 #코린이 #개발자 #study
- 프로그래머스 #동명 동물 수 찾기 #mysql #데이터베이스 #db #코린이 #개발자 #알고리즘
- 프로그래머스 #나이 정보가 없는 회원 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #인기있는 아이스크림 #코린이 #개발자 #study
- 프로그래머스 #조건에 맞는 회원수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #한 해에 잡은 물고기 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #과일로 만든 아이스크림 고르기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #가장 큰 물고기 10마리 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #12세 이하인 여자 환자 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기 중 가장 큰 물고기의 길이 구하기 #알고리즘 #mysql #코린이 #개발자 #study
- 백준 #
- 프로그래머스 #mysql #알고리즘 #이름이 있는 동물의 아이디 #코린이 #개발자 #study
- 백준 #네 번째 점 #3009 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #어린 동물 찾기 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기의 평균 길이 구하기 #mysql #알고리즘 #코린이 #개발자 #study
Archives
- Today
- Total
luke
[백준] - 약수들의 합 (9506) (자바/Java) 본문
https://www.acmicpc.net/problem/9506
문제.
풀이.
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 |