Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7df55e1

Browse files
Merge branch 'TecheerB:master' into master
2 parents 0351ff5 + 6ed781a commit 7df55e1

File tree

12 files changed

+397
-6
lines changed

12 files changed

+397
-6
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import java.io.*;
2+
3+
public class problem2231 {
4+
public static void main(String[] args) throws IOException{
5+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
6+
int N = Integer.parseInt(br.readLine());
7+
8+
for(int i=1; i<N; i++){
9+
int number = i;
10+
int sum = 0;
11+
12+
while(number != 0){
13+
sum += number % 10;
14+
number /= 10;
15+
}
16+
17+
if(sum+i == N){
18+
System.out.println(i);
19+
return;
20+
}
21+
}
22+
23+
System.out.println(0);
24+
25+
}
26+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import java.io.*;
2+
import java.util.StringTokenizer;
3+
4+
public class problem2798 {
5+
public static void main(String[] args) throws IOException{
6+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
7+
StringTokenizer st = new StringTokenizer(br.readLine());
8+
9+
int N = Integer.parseInt(st.nextToken());
10+
int M = Integer.parseInt(st.nextToken());
11+
12+
int [] number = new int[N];
13+
st = new StringTokenizer(br.readLine(), " ");
14+
for(int i=0; i<N; i++){
15+
number[i] = Integer.parseInt(st.nextToken());
16+
}
17+
18+
int sum = 0;
19+
for(int i=0; i<N; i++){
20+
for(int j=i+1; j<N; j++){
21+
for(int n=j+1; n<N; n++){
22+
int numberSum = number[i] + number[j] + number[n];
23+
sum = (numberSum > sum)&&(M >= numberSum) ? numberSum : sum;
24+
}
25+
}
26+
}
27+
28+
System.out.println(sum);
29+
30+
31+
}
32+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
import java.util.Arrays;
2+
3+
class Solution {
4+
public int[] solution(int[] answers) {
5+
int[] answer = {};
6+
int max = 0;
7+
int count = 0;
8+
9+
int[] a = new int[]{1,2,3,4,5};
10+
int[] b = new int[]{2,1,2,3,2,4,2,5};
11+
int[] c = new int[]{3,3,1,1,2,2,4,4,5,5};
12+
13+
int[] score = new int[3];
14+
15+
for(int i=0; i<answers.length; i++){
16+
if(answers[i] == a[i%5]) score[0]++;
17+
if(answers[i] == b[i%8]) score[1]++;
18+
if(answers[i] == c[i%10]) score[2]++;
19+
}
20+
21+
max = Math.max(Math.max(score[0], score[1]), score[2]);
22+
23+
for(int i=0; i<3; i++){
24+
if(max == score[i]) count++;
25+
}
26+
answer = new int[count];
27+
28+
int j = 0;
29+
for(int i=0; i<3; i++){
30+
if(score[i] == max) answer[j++] = i+1;
31+
}
32+
33+
34+
return answer;
35+
}
36+
}
37+
38+
// HashMap쓰면 더 빨라지지 않을까 싶었는데 절대 착각이었음..^^
39+
40+
// import java.util.*;
41+
42+
// class Solution {
43+
// public int[] solution(int[] answers) {
44+
// int[] answer = {};
45+
// int max = 0;
46+
// int count = 0;
47+
48+
// int[] a = new int[]{1,2,3,4,5};
49+
// int[] b = new int[]{2,1,2,3,2,4,2,5};
50+
// int[] c = new int[]{3,3,1,1,2,2,4,4,5,5};
51+
52+
// int[] score = new int[3];
53+
// Map<Integer, Integer> score2 = new HashMap<>(){{
54+
// put(0,0);
55+
// put(1,0);
56+
// put(2,0);
57+
// }};
58+
59+
// for(int i=0; i<answers.length; i++){
60+
// if(answers[i] == a[i%5]) score2.put(0, score2.get(0)+1);
61+
// if(answers[i] == b[i%8]) score2.put(1, score2.get(1)+1);
62+
// if(answers[i] == c[i%10]) score2.put(2, score2.get(2)+1);
63+
// }
64+
65+
// max = Collections.max(score2.values());
66+
67+
// for(int i=0; i<3; i++){
68+
// if(max == score2.get(i)) count++;
69+
// }
70+
// answer = new int[count];
71+
72+
// int j = 0;
73+
// for(int i=0; i<3; i++){
74+
// if(score2.get(i) == max) answer[j++] = i+1;
75+
// }
76+
77+
78+
// return answer;
79+
// }
80+
// }
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public String solution(String[] participant, String[] completion) {
5+
String answer = "";
6+
Map<String, Integer> map = new HashMap<>();
7+
8+
for(String str : participant){
9+
map.put(str, map.getOrDefault(str, 0)+1);
10+
}
11+
12+
for(String str : completion){
13+
map.put(str, map.get(str)-1);
14+
}
15+
16+
for(String key : map.keySet()){
17+
if(map.get(key) == 1){
18+
answer = key;
19+
}
20+
}
21+
22+
return answer;
23+
}
24+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public boolean solution(String[] phone_book) {
5+
boolean answer = true;
6+
Map<String, String> map = new HashMap<>();
7+
8+
Arrays.sort(phone_book);
9+
for(String phone_number : phone_book){
10+
map.put(phone_number, "1");
11+
}
12+
13+
for(String phone_number : phone_book){
14+
for(int i=0; i<phone_number.length(); i++){
15+
String str = phone_number.substring(0, i);
16+
if(map.containsKey(str)){
17+
return false;
18+
}
19+
}
20+
}
21+
22+
// Hash없이 푼다면 startsWith
23+
// Arrays.sort(phone_book);
24+
// for (int i=0; i<phone_book.length-1; i++) {
25+
// if (phone_book[i+1].startsWith(phone_book[i])) {
26+
// answer = false;
27+
// break;
28+
// }
29+
// }
30+
31+
return answer;
32+
}
33+
}

‎GnuPark/BOJ/2231.java‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package BOJ;
2+
import java.io.BufferedReader;
3+
import java.io.InputStreamReader;
4+
import java.io.IOException;
5+
6+
public class 2231 {
7+
public static void main(String[] args) throws IOException {
8+
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
11+
int N = Integer.parseInt(br.readLine());
12+
13+
int result = 0;
14+
15+
16+
for(int i = 0; i < N; i++) {
17+
int number = i;
18+
int sum = 0; // 각 자릿수 합 변수
19+
20+
while(number != 0) {
21+
sum += number % 10; // 각 자릿수 더하기
22+
number /= 10;
23+
}
24+
25+
// i 값과 각 자릿수 누적합이 같을 경우 (생성자를 찾았을 경우)
26+
if(sum + i == N) {
27+
result = i;
28+
break;
29+
}
30+
31+
}
32+
33+
System.out.println(result);
34+
}
35+
}

‎GnuPark/BOJ/2798.java‎

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package BOJ;
2+
import java.io.BufferedReader;
3+
import java.io.InputStreamReader;
4+
import java.io.IOException;
5+
import java.util.StringTokenizer;
6+
7+
public class 2798 {
8+
public static void main(String[] args) throws IOException {
9+
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+
int[] arr = new int[N];
17+
18+
st = new StringTokenizer(br.readLine(), " ");
19+
for (int i = 0; i < N; i++) {
20+
arr[i] = Integer.parseInt(st.nextToken());
21+
}
22+
23+
int result = search(arr, N, M);
24+
System.out.println(result);
25+
}
26+
27+
28+
// 탐색
29+
static int search(int[] arr, int N, int M) {
30+
int result = 0;
31+
32+
// 3개를 고르기 때문에 첫번째 카드는 N - 2 까지만 순회
33+
for (int i = 0; i < N - 2; i++) {
34+
35+
// 두 번째 카드는 첫 번째 카드 다음부터 N - 1 까지만 순회
36+
for (int j = i + 1; j < N - 1; j++) {
37+
38+
// 세 번째 카드는 두 번째 카드 다음부터 N 까지 순회
39+
for (int k = j + 1; k < N; k++) {
40+
41+
// 3개 카드의 합 변수 temp
42+
int temp = arr[i] + arr[j] + arr[k];
43+
44+
// M과 세 카드의 합이 같다면 temp return 및 종료
45+
if (M == temp) {
46+
return temp;
47+
}
48+
49+
// 세 카드의 합이 이전 합보다 크면서 M 보다 작을 경우 result 갱신
50+
if(result < temp && temp < M) {
51+
result = temp;
52+
}
53+
}
54+
}
55+
}
56+
57+
// 모든 순회를 마치면 result 리턴
58+
return result;
59+
}
60+
}

‎GnuPark/gnu.java‎

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public static int[] solution(int[] answers) {
5+
int[] answer;
6+
7+
int[] a = new int[] { 1, 2, 3, 4, 5 };
8+
int[] b = new int[] { 2, 1, 2, 3, 2, 4, 2, 5 };
9+
int[] c = new int[] { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 };
10+
11+
int[] score = new int[3];
12+
13+
// score[]에 수포자별 맞힌 갯수
14+
for (int i = 0; i < answers.length; i++) {
15+
if (answers[i] == a[i % 5])
16+
score[0]++;
17+
if (answers[i] == b[i % 8])
18+
score[1]++;
19+
if (answers[i] == c[i % 10])
20+
score[2]++;
21+
}
22+
23+
// 가장 높은 점수
24+
int max = 0;
25+
for (int i = 0; i < 3; i++) {
26+
if (score[i] > max) {
27+
max = score[i];
28+
}
29+
}
30+
31+
// 가장 높은 점수를 받은 사람 수
32+
int maxCount = 0;
33+
for (int i = 0; i < 3; i++) {
34+
if (score[i] == max) {
35+
maxCount++;
36+
}
37+
}
38+
39+
answer = new int[maxCount];
40+
int idx = 0;
41+
for (int i = 0; i < 3; i++) {
42+
if (score[i] == max)
43+
answer[idx++] = i + 1;
44+
}
45+
return answer;
46+
}
47+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution {
2+
public int[] solution(int brown, int yellow) {
3+
int[] answer = new int[2];
4+
5+
int area = brown + yellow; // 전체 격자 개수
6+
7+
for (int i = 1; i <= area; i++) {
8+
int row = i; // 세로
9+
int col = area / row; // 가로
10+
11+
// 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 길다.
12+
if (row > col)
13+
continue;
14+
15+
if ((row - 2) * (col - 2) == yellow) {
16+
answer[0] = col;
17+
answer[1] = row;
18+
return answer;
19+
}
20+
21+
}
22+
23+
return answer;
24+
}
25+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /