Skip to content

Commit b37b9c7

Browse files
committedAug 4, 2020
Update
1 parent a5ca0b4 commit b37b9c7

File tree

6 files changed

+215
-0
lines changed

6 files changed

+215
-0
lines changed
 

‎6/10.java

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import java.util.*;
2+
3+
public class Main {
4+
5+
public static void main(String[] args) {
6+
Scanner sc = new Scanner(System.in);
7+
8+
// N을 입력받기
9+
int n = sc.nextInt();
10+
11+
// N개의 정수를 입력받아 리스트에 저장
12+
Integer[] arr = new Integer[n];
13+
for (int i = 0; i < n; i++) {
14+
arr[i] = sc.nextInt();
15+
}
16+
17+
// 기본 정렬 라이브러리를 이용하여 내림차순 정렬 수행
18+
Arrays.sort(arr, Collections.reverseOrder());
19+
20+
for(int i = 0; i < n; i++) {
21+
System.out.print(arr[i] + " ");
22+
}
23+
}
24+
25+
}

‎6/11.java

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import java.util.*;
2+
3+
class Student implements Comparable<Student> {
4+
5+
private String name;
6+
private int score;
7+
8+
public Student(String name, int score) {
9+
this.name = name;
10+
this.score = score;
11+
}
12+
13+
public String getName() {
14+
return this.name;
15+
}
16+
17+
public int getScore() {
18+
return this.score;
19+
}
20+
21+
// 정렬 기준은 '점수가 낮은 순서'
22+
@Override
23+
public int compareTo(Student other) {
24+
if (this.score < other.score) {
25+
return -1;
26+
}
27+
return 1;
28+
}
29+
}
30+
31+
public class Main {
32+
33+
public static void main(String[] args) {
34+
Scanner sc = new Scanner(System.in);
35+
36+
// N을 입력받기
37+
int n = sc.nextInt();
38+
39+
// N명의 학생 정보를 입력받아 리스트에 저장
40+
List<Student> students = new ArrayList<>();
41+
for (int i = 0; i < n; i++) {
42+
String name = sc.next();
43+
int score = sc.nextInt();
44+
students.add(new Student(name, score));
45+
}
46+
47+
Collections.sort(students);
48+
49+
for (int i = 0; i < students.size(); i++) {
50+
System.out.print(students.get(i).getName() + " ");
51+
}
52+
}
53+
}

‎6/12.java

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import java.util.*;
2+
3+
public class Main {
4+
5+
public static void main(String[] args) {
6+
Scanner sc = new Scanner(System.in);
7+
8+
// N과 K를 입력받기
9+
int n = sc.nextInt();
10+
int k = sc.nextInt();
11+
12+
// 배열 A의 모든 원소를 입력받기
13+
Integer[] a = new Integer[n];
14+
for (int i = 0; i < n; i++) {
15+
a[i] = sc.nextInt();
16+
}
17+
// 배열 B의 모든 원소를 입력받기
18+
Integer[] b = new Integer[n];
19+
for (int i = 0; i < n; i++) {
20+
b[i] = sc.nextInt();
21+
}
22+
23+
// 배열 A는 오름차순 정렬 수행
24+
Arrays.sort(a);
25+
// 배열 B는 내림차순 정렬 수행
26+
Arrays.sort(b, Collections.reverseOrder());
27+
28+
// 첫 번째 인덱스부터 확인하며, 두 배열의 원소를 최대 K번 비교
29+
for (int i = 0; i < k; i++) {
30+
// A의 원소가 B의 원소보다 작은 경우
31+
if (a[i] < b[i]) {
32+
// 두 원소를 교체
33+
int temp = a[i];
34+
a[i] = b[i];
35+
b[i] = temp;
36+
}
37+
// A의 원소가 B의 원소보다 크거나 같을 때, 반복문을 탈출
38+
else break;
39+
}
40+
41+
// 배열 A의 모든 원소의 합을 출력
42+
long result = 0;
43+
for (int i = 0; i < n; i++) {
44+
result += a[i];
45+
}
46+
System.out.println(result);
47+
}
48+
49+
}

‎6/6.java

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import java.util.*;
2+
3+
public class Main {
4+
5+
public static final int MAX_VALUE = 9;
6+
7+
public static void main(String[] args) {
8+
9+
int n = 15;
10+
// 모든 원소의 값이 0보다 크거나 같다고 가정
11+
int[] arr = {7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2};
12+
// 모든 범위를 포함하는 배열 선언(모든 값은 0으로 초기화)
13+
int[] cnt = new int[MAX_VALUE + 1];
14+
15+
for (int i = 0; i < n; i++) {
16+
cnt[arr[i]] += 1; // 각 데이터에 해당하는 인덱스의 값 증가
17+
}
18+
for (int i = 0; i <= MAX_VALUE; i++) { // 배열에 기록된 정렬 정보 확인
19+
for (int j = 0; j < cnt[i]; j++) {
20+
System.out.print(i + " "); // 띄어쓰기를 기준으로 등장한 횟수만큼 인덱스 출력
21+
}
22+
}
23+
}
24+
25+
}

‎6/7.java

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import java.util.*;
2+
3+
public class Main {
4+
5+
public static void main(String[] args) {
6+
7+
int n = 10;
8+
int[] arr = {7, 5, 9, 0, 3, 1, 6, 2, 4, 8};
9+
10+
Arrays.sort(arr);
11+
12+
for(int i = 0; i < n; i++) {
13+
System.out.print(arr[i] + " ");
14+
}
15+
}
16+
17+
}

‎6/9.java

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import java.util.*;
2+
3+
class Fruit implements Comparable<Fruit> {
4+
5+
private String name;
6+
private int score;
7+
8+
public Fruit(String name, int score) {
9+
this.name = name;
10+
this.score = score;
11+
}
12+
13+
public String getName() {
14+
return this.name;
15+
}
16+
17+
public int getScore() {
18+
return this.score;
19+
}
20+
21+
// 정렬 기준은 '점수가 낮은 순서'
22+
@Override
23+
public int compareTo(Fruit other) {
24+
if (this.score < other.score) {
25+
return -1;
26+
}
27+
return 1;
28+
}
29+
}
30+
31+
public class Main {
32+
33+
public static void main(String[] args) {
34+
List<Fruit> fruits = new ArrayList<>();
35+
36+
fruits.add(new Fruit("바나나", 2));
37+
fruits.add(new Fruit("사과", 5));
38+
fruits.add(new Fruit("당근", 3));
39+
40+
Collections.sort(fruits);
41+
42+
for (int i = 0; i < fruits.size(); i++) {
43+
System.out.print("(" + fruits.get(i).getName() + "," + fruits.get(i).getScore() + ") ");
44+
}
45+
}
46+
}

0 commit comments

Comments
 (0)