Skip to content

Commit 5b06e99

Browse files
authored
Merge pull request #57 from ottffss1005/main
create pull request
2 parents 07894ef + 7178eb6 commit 5b06e99

File tree

5 files changed

+206
-0
lines changed

5 files changed

+206
-0
lines changed

Soyoung/week1/Baek_11720

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import java.util.Scanner;
2+
3+
public class Main {
4+
5+
public static void main(String[] args) {
6+
7+
Scanner sc = new Scanner(System.in);
8+
9+
//System.out.println("사이즈 입력: ");
10+
int size = sc.nextInt(); //size 입력받기
11+
sc.nextLine();
12+
13+
//int[] arr = new int[size]; //size 크기에 맞는 배열 생성
14+
//System.out.println("숫자 공백없이 입력");
15+
String num = sc.nextLine().trim(); //12345
16+
17+
int sum=0;
18+
for(int i=0;i<size; i++){
19+
char c = num.charAt(i);
20+
//sum += c;
21+
sum += Character.getNumericValue(c);
22+
}
23+
24+
System.out.println(sum);
25+
sc.close();
26+
27+
}
28+
}

Soyoung/week1/Baek_1546

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import java.util.Arrays;
2+
import java.util.Scanner;
3+
4+
public class Main {
5+
public static void main(String[] args) {
6+
Scanner sc = new Scanner(System.in);
7+
8+
// System.out.print("과목 수 입력: ");
9+
int sub = sc.nextInt(); //시험 본 과목의 개수 N
10+
int[] arr = new int[sub]; //시험 본 과목의 배열
11+
double[] arr2 = new double[sub]; //조작된 시험 배열
12+
int max = 0; //최고점
13+
14+
for(int i=0;i<sub;i++){
15+
arr[i] = sc.nextInt();
16+
//System.out.print("arr[] ");
17+
//System.out.print(arr[i]+" ");
18+
}
19+
20+
//max에 최대값 넣기
21+
for(int i=0;i<sub;i++){
22+
if(arr[i]>max){
23+
max=arr[i];
24+
}
25+
}
26+
27+
//System.out.println(max+" 이게 max입니다.");
28+
29+
for(int i=0;i<sub;i++){
30+
arr2[i] = (arr[i]/(double)max) *100;
31+
//System.out.print("arr2: "+arr2[i]+" ");
32+
}
33+
34+
double sum = Arrays.stream(arr2).sum();
35+
36+
double new_avg = sum/sub;
37+
38+
System.out.println(new_avg);
39+
40+
}
41+
}

Soyoung/week2/BOJ_11659

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import java.io.BufferedReader;
2+
import java.io.InputStreamReader;
3+
import java.io.IOException;
4+
import java.util.StringTokenizer;
5+
6+
public class Main {
7+
public static void main(String[] args) throws IOException {
8+
9+
//입력 받기
10+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11+
12+
StringTokenizer st = new StringTokenizer(br.readLine());
13+
14+
//집합 크기 n, 합 개수 m 받아오기
15+
int n = Integer.parseInt(st.nextToken());
16+
int m = Integer.parseInt(st.nextToken());
17+
18+
//그때그때 입력받으면 runtimeerror 뜸
19+
// 그래서 미리 합을 구해놓으면 편함
20+
21+
//arr은 집합 저장 배열 pre_sum은 누적합 저장 배열
22+
int[] arr = new int[n + 1];
23+
int[] pre_sum = new int[n + 1];
24+
25+
st = new StringTokenizer(br.readLine());
26+
//집합 누적합 계산
27+
for (int i = 1; i <= n; i++) {
28+
arr[i] = Integer.parseInt(st.nextToken());
29+
pre_sum[i] = pre_sum[i - 1] + arr[i];
30+
}
31+
32+
for (int i = 0; i < m; i++) {
33+
st = new StringTokenizer(br.readLine());
34+
int j = Integer.parseInt(st.nextToken());
35+
int q = Integer.parseInt(st.nextToken());
36+
37+
int sum = pre_sum[q] - pre_sum[j - 1];
38+
System.out.println(sum);
39+
}
40+
}
41+
42+
}

Soyoung/week7/BOJ_11724

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package study;
2+
import java.util.*;
3+
import java.io.*;
4+
5+
public class BOJ_11724 {
6+
static ArrayList<Integer>[] graph;
7+
static boolean[] visited;
8+
9+
public static void main(String[] args) throws IOException {
10+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11+
StringTokenizer st = new StringTokenizer(br.readLine());
12+
13+
int N = Integer.parseInt(st.nextToken()); // 정점 개수
14+
int M = Integer.parseInt(st.nextToken()); // 간선 개수
15+
16+
graph = new ArrayList[N+1];
17+
visited = new boolean[N+1];
18+
19+
for (int i = 1; i <= N; i++) {
20+
graph[i] = new ArrayList<>();
21+
}
22+
23+
for (int i = 0; i < M; i++) {
24+
st = new StringTokenizer(br.readLine());
25+
int u = Integer.parseInt(st.nextToken());
26+
int v = Integer.parseInt(st.nextToken());
27+
graph[u].add(v);
28+
graph[v].add(u);
29+
}
30+
31+
int count = 0;
32+
for (int i = 1; i <= N; i++) {
33+
if (!visited[i]) {
34+
dfs(i);
35+
count++;
36+
}
37+
}
38+
39+
System.out.println(count);
40+
}
41+
42+
public static void dfs(int node) {
43+
visited[node] = true;
44+
for (int next : graph[node]) {
45+
if (!visited[next]) {
46+
dfs(next);
47+
}
48+
}
49+
}
50+
}

Soyoung/week7/BOJ_2023

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package study;
2+
import java.io.*;
3+
4+
public class BOJ_2023 {
5+
6+
static int N; // 자릿수
7+
8+
public static void main(String[] args) throws IOException {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
N = Integer.parseInt(br.readLine().trim());
11+
12+
// 1자리 소수에서 시작
13+
int[] PrimeStarts = {2, 3, 5, 7};
14+
for (int s : PrimeStarts) {
15+
dfs(s, 1);
16+
}
17+
}
18+
19+
// DFS
20+
static void dfs(int num, int depth) {
21+
if (depth == N) {
22+
System.out.println(num);
23+
return;
24+
}
25+
26+
// 뒷자리 후보 리스트
27+
int[] PrimeEnds = {1, 3, 7, 9};
28+
for (int d : PrimeEnds) {
29+
int next = num * 10 + d;
30+
if (isPrime(next)) {
31+
dfs(next, depth + 1);
32+
}
33+
}
34+
}
35+
36+
// 소수 판별
37+
static boolean isPrime(int n) {
38+
if (n < 2) return false;
39+
//axb=c이면 루트cx루트c니까 a 혹은 b는 루트 c보다 하나는 무조건 작고 하나는 큼
40+
for (int i = 2; i * i <= n; i++) {
41+
if (n % i == 0) return false;
42+
}
43+
return true;
44+
}
45+
}

0 commit comments

Comments
 (0)