반응형
- C0804석차
- C0804개념01_석차출력
package C0804석차;
public class C0804개념01_석차출력 {
public static void main(String[] args) {
/*
[문제]
scoreList는 학생시험점수배열이다.
석차를 출력하시오.
[정답]
2 3 4 1
*/
int[] scoreList = {87, 42, 11, 98};
int size = scoreList.length;
for(int i=0; i<size; i++) {
int count = 1;
for(int j=0; j<size; j++) {
if(scoreList[i] < scoreList[j]) {
count += 1;
}
}
System.out.print(count + " ");
}
}
}
- C0805그룹바이 . 집계
- 종류별로 한개씩 모으는것
- C0805개념01_그룹바이
package C0804석차;
public class C0804개념01_석차출력 {
public static void main(String[] args) {
/*
[문제]
scoreList는 학생시험점수배열이다.
석차를 출력하시오.
[정답]
2 3 4 1
*/
int[] scoreList = {87, 42, 11, 98};
int size = scoreList.length;
for(int i=0; i<size; i++) {
int count = 1;
for(int j=0; j<size; j++) {
if(scoreList[i] < scoreList[j]) {
count += 1;
}
}
System.out.print(count + " ");
}
}
}
- C0806규칙찾기
- C0806개념01_숫자야구
package C0804석차;
public class C0804개념01_석차출력 {
public static void main(String[] args) {
/*
[문제]
scoreList는 학생시험점수배열이다.
석차를 출력하시오.
[정답]
2 3 4 1
*/
int[] scoreList = {87, 42, 11, 98};
int size = scoreList.length;
for(int i=0; i<size; i++) {
int count = 1;
for(int j=0; j<size; j++) {
if(scoreList[i] < scoreList[j]) {
count += 1;
}
}
System.out.print(count + " ");
}
}
}
- C0806개념02_같은수합치기
package C0806규칙찾기;
import java.util.Arrays;
/*
[문제]
input배열의 데이터를 순차적으로 arr에 저장하는데,
만약 저장하려는 수와 그 앞의 수가 서로 같으면 합친다. (계속 중첩 적용)
마지막 arr의 값을 출력하시오.
8 :: arr = {8}
4 :: arr = {8, 4}
2 :: arr = {8, 4, 2}
2 :: arr = {8, 4, 4} => {8, 8} => {16}
4 :: arr = {16, 4}
4 :: arr = {16, 8}
8 :: arr = {16, 16} => {32}
[정답]
arr = {32, 0, 0, 0, 0, 0, 0}
*/
public class C0806개념02_같은수합치기 {
public static void main(String[] args) {
int[] input = {8, 4, 2, 2, 4, 4, 8};
int[] arr = new int[input.length];
/*
arr = [16, 0, 0, 0, 0, 0, 0]
index = 0, i = 1
arr[0] == input[1] false
index = 1
arr[1] = input[1]
index = 1, i = 2
arr[1] == input[2] false
index = 2
arr[2] = input[2]
index = 2, i = 3
arr[2] == input[3] true
arr[2] = 4
arr[2] != arr[1] false
arr[2] = 0
index = 1
arr[1] = arr[1] * 2
arr[1] != arr[0] false
arr[1] = 0
index = 0
arr[0] = arr[0] * 2
...
*/
int index = 0;
arr[index] = input[0];
for(int i=1; i<input.length; i++) {
System.out.println(Arrays.toString(arr));
if(arr[index] == input[i]) {
arr[index] = arr[index] * 2;
while(true) {
if(index == 0) {
break;
} else if(arr[index] != arr[index - 1]) {
break;
} else {
System.out.println(Arrays.toString(arr));
arr[index] = 0;
index -= 1;
arr[index] = arr[index] * 2;
}
}
} else {
index += 1;
arr[index] = input[i];
}
}
System.out.println(Arrays.toString(arr));
}
}
반응형
'코딩 > 2-JAVA' 카테고리의 다른 글
C09이차배열 => C0901이차배열 , C0902이차배열과데이터 (0) | 2025.06.25 |
---|---|
C0807배열입력심화 (0) | 2025.06.25 |
C0801보통완전탐색 , C0802보통완전탐색데이터 , C0803중복해결 (1) | 2025.06.24 |
C0703규칙찾기 ~ C0704셀프완전탐색입력 (0) | 2025.06.24 |
C0701검색 ~ C0702중복금지 (0) | 2025.06.24 |