영상
문제
package 배열4_개념;
/*
[문제]
아래 배열은 각 병에 들어있는 사탕의 양이다.
사탕의 종류는 전부 다르고 한 사람당 한병에서
25개씩 나누어 주려고 한다.
남은 사탕은 옆으로 옮겨서 다른 사람한테 나눠줄 수 있다.
나눠줄 수 있는 사람 수를 사람수 배열에 저장하시오.
[정답]
사탕 = {0, 0, 0, 8}
사람수 = {3, 3, 1, 1}
*/
public class 배열4_개념08_사탕줄서기_문제 {
public static void main(String[] args) {
int[] 사탕 = {97, 53, 36, 22}; // 각 종류의 사탕 수
int[] 사람수 = {0, 0, 0, 0};
}
}
Java
복사
해설
package 배열4_개념;
import java.util.Arrays;
/*
[문제]
아래 배열은 각 병에 들어있는 사탕의 양이다.
사탕의 종류는 전부 다르고 한 사람당 한병에서
25개씩 나누어 주려고 한다.
남은 사탕은 옆으로 옮겨서 다른 사람한테 나눠줄 수 있다.
나눠줄 수 있는 사람 수를 사람수 배열에 저장하시오.
[정답]
사탕 = {0, 0, 0, 8}
사람수 = {3, 3, 1, 1}
*/
public class 배열4_개념08_사탕줄서기_정답 {
public static void main(String[] args) {
int[] 사탕 = {97, 53, 36, 22}; // 각 종류의 사탕 수
int[] 사람수 = {0, 0, 0, 0};
/*
[풀이]
i = 0
사탕[0] / 25 = 3 사람수 = [3, 0, 0, 0]
사탕[0] % 25 = 22 사탕 = [0, 53+22, 36, 22]
i = 1
사탕[1] / 25 = 3 사람수 = [3, 3, 0, 0]
사탕[1] % 25 = 0 사탕 = [0, 0, 36, 22]
i = 2
사탕[2] / 25 = 1 사람수 = [3, 3, 1, 0]
사탕[2] % 25 = 11 사탕 = [0, 0, 0, 22+11]
i = 3
사탕[3] / 25 = 1 사람수 = [3, 3, 1, 1]
사탕[3] % 25 = 7 사탕 = [0, 0, 0, 8]
*/
for(int i=0; i<사탕.length - 1; i++) {
사람수[i] = 사탕[i] / 25;
int 나머지 = 사탕[i] % 25;
사탕[i + 1] += 나머지;
사탕[i] = 0;
}
int index = 사탕.length - 1;
사람수[index] = 사탕[index] / 25;
사탕[index] = 사탕[index] % 25;
System.out.println(Arrays.toString(사탕));
System.out.println(Arrays.toString(사람수));
}
}
Java
복사