Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ff282ad
week1.yj
yj-ai Jan 4, 2023
5c63a1f
Merge pull request #2 from bada308/week1.yj
yj-ai Jan 4, 2023
430308f
Revert "week1.yj"
yj-ai Jan 4, 2023
3b0ee09
Merge pull request #3 from bada308/revert-2-week1.yj
kssumin Jan 4, 2023
4be83ce
feat : 1001번 문제풀이 완료
Jan 6, 2023
4fd5a99
feat : 1008번 문제풀이 완료
Jan 6, 2023
1201bd8
feat : 10171번 문제풀이 완료
Jan 6, 2023
71704fa
feat : 10172번 문제풀이 완료
Jan 6, 2023
bc2e7e9
feat : 1000번 문제풀이 완료
Jan 6, 2023
6d5f72e
feat : 10430 문제풀이 완료
Jan 6, 2023
81fb8ed
feat : 2557 문제풀이 완료
Jan 6, 2023
dddbbfd
feat : 3033 문제풀이 완료
Jan 6, 2023
19c8d58
docs : 버퍼를 이용한 입출력 정리
Jan 6, 2023
d5f3e59
feat : 10869 문제풀이 완료
Jan 6, 2023
49890fc
feat : 10926 문제풀이 완료
Jan 6, 2023
7bde0db
chore : 1주차 문제풀이 오류로 인해 재업로드
Jan 6, 2023
94c02e6
docs : Scanner와 BufferedReader의 성능이 차이가 나는 이유 정리
Jan 7, 2023
f29bc4e
docs : stream 정리
Jan 7, 2023
30286bf
docs : 사진추가
Jan 7, 2023
dcb1c08
[BOJ] 스택/실버4/220ms
Jan 8, 2023
dc29171
[BOJ] 9012 / 실버4 / 136ms
Jan 8, 2023
6cc8be6
[BOJ] 10773 / 실버4 / 268ms
Jan 8, 2023
eeef676
[BOJ] 1935 / 실버3 / 136ms
Jan 9, 2023
3000eb9
docs : 후위표기식과 중위표기식
Jan 9, 2023
6b5ee39
[BOJ] 1406 / 실버2 / 896ms
Jan 9, 2023
5f629c2
[BOJ] 18258 / 실버4 / 1572ms
Jan 10, 2023
6346139
[BOJ] 10845 / 실버4 / 200ms
Jan 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions week1/sumin/Backjoon_1000.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Backjoon_1000 {
public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String str = br.readLine();
StringTokenizer st = new StringTokenizer(str," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());

System.out.println(a+b);
}

}
16 changes: 16 additions & 0 deletions week1/sumin/Backjoon_1001.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

class BackJoon_1001{
public static void main(String[]args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
StringTokenizer st=new StringTokenizer(str," ");
int A=Integer.parseInt(st.nextToken());
int B=Integer.parseInt(st.nextToken());

System.out.println(A-B);
}
}
16 changes: 16 additions & 0 deletions week1/sumin/Backjoon_1008.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Backjoon_1008 {
public static void main(String[]args)throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=br.readLine();
StringTokenizer st=new StringTokenizer(str," ");
int A=(int) Double.parseDouble(st.nextToken());
int B=(int) Double.parseDouble(st.nextToken());

System.out.println(A/B);
}
}
23 changes: 23 additions & 0 deletions week1/sumin/Backjoon_10171.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Backjoon_10171{
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

bw.write("\\ /\\");
bw.newLine(); // 줄 구분자

bw.write(" ) ( ')");
bw.newLine();

bw.write("( / )");
bw.newLine();

bw.write(" \\(__)|");

bw.flush();
bw.close();
}
}
20 changes: 20 additions & 0 deletions week1/sumin/Backjoon_10172.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Backjoon_10172 {
public static void main(String[] args)throws IOException{

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

bw.write("|\\_/|\n");
bw.write("|q p| /}\n");
bw.write("( 0 )\"\"\"\\\n");
bw.write("|\"^\"` |\n");
bw.write("||_/=\\\\__|\n");

bw.flush();
bw.close();
}

}
26 changes: 26 additions & 0 deletions week1/sumin/Backjoon_10430.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

class Backjoon_10430{
public static void main(String[]args)throws IOException{
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(bf.readLine()," ");

int a=Integer.parseInt(st.nextToken());
int b=Integer.parseInt(st.nextToken());
int c=Integer.parseInt(st.nextToken());

bw.write((a+b)%c+"\n");
bw.write(((a%c)+(b%c))%c+"\n");
bw.write((a*b)%c+"\n");
bw.write(((a%c)*(b%c))%c+"\n");

bw.flush();
bw.close();
}
}
28 changes: 28 additions & 0 deletions week1/sumin/Backjoon_10869.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class Backjoon_10869 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(System.out));
String input=br.readLine();

StringTokenizer st= new StringTokenizer(input," ");
int a= Integer.parseInt(st.nextToken());
int b=Integer.parseInt(st.nextToken());

bw.write(Integer.toString(a-b));
bw.write(Integer.toString(a-b));
bw.write(Integer.toString(a*b));
bw.write(Integer.toString(a/b));
bw.write(Integer.toString(a%b));

bw.flush();
bw.close();
}

}
21 changes: 21 additions & 0 deletions week1/sumin/Backjoon_10926.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Backjoon_10926 {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
String year=br.readLine();

bw.write(year);
bw.write("??!");

bw.flush();
bw.close();

}

}
13 changes: 13 additions & 0 deletions week1/sumin/Backjoon_2557.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Backjoon_2557 {
public static void main(String[] args) throws IOException{
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("Hello World!");

bw.flush();
bw.close();
}
}
31 changes: 31 additions & 0 deletions week1/sumin/Backjoon_3033.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

class BackJoon_3033{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String input=br.readLine();
StringTokenizer st=new StringTokenizer(input," ");
BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(System.out));
int king = Integer.parseInt(st.nextToken());
int queen=Integer.parseInt(st.nextToken());
int rook=Integer.parseInt(st.nextToken());
int bishop=Integer.parseInt(st.nextToken());
int knight=Integer.parseInt(st.nextToken());
int pawn=Integer.parseInt(st.nextToken());

bw.write(Integer.toString(1-king)+" ");
bw.write(Integer.toString(1-queen)+" ");
bw.write(Integer.toString(2-rook)+" ");
bw.write(Integer.toString(2-bishop)+" ");
bw.write(Integer.toString(2-knight)+" ");
bw.write(Integer.toString(8-pawn)+" ");

bw.flush();
bw.close();
}
}
93 changes: 93 additions & 0 deletions week1/sumin/Stream(스트림).md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# 스트림(Stream)

### 스트림이란?
---

스트림은 데이터의 이동 흐름이다.

즉, A수도관에서 B수도관으로 이동하는 물의 흐름이라고 할 수 있다.

프로그래밍에서는 다음과 같은 것들을 스트림이라고 한다.

- HTTP 응답 데이터(브라우저가 요청하고 서버가 응답하는 HTTP 응답 데이터)

<img width="675" alt="스크린샷 2023-01-07 오후 12 39 02" src="https://user-images.githubusercontent.com/88534959/211129615-8e934752-3f4b-4ce9-aa68-e91fb3f5aef0.png">


용도에 따라 입력 스트림(InputStream), 출력 스트림(OutputStream)으로 나뉜다.

```java
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
```

### InpuStream
---

바이트 단위로 데이터를 처리한다.

```java
import java.io.IOException;
import java.io.InputStream;

public class StreamTest {
public static void main(String[] args) throws IOException {
InputStream in=System.in;

int a;
a=in.read();

System.out.println(a);

}
}
```

read()메서드는 1Byte의 int 자료형으로 값을 받는다.

이 int값은 아스키코드 값이기 때문에 숫자를 입력해도 아스키 코드 값으로 출력된다.

```java
1 //입력값
49 //출력값
```

또한, System.in의 타입도 InputStream이다.
<img width="592" alt="스크린샷 2023-01-07 오후 12 12 47" src="https://user-images.githubusercontent.com/88534959/211129556-ae1140a7-d33e-46f9-9b41-e2c954342cab.png">

이 방법만으로는 문자를 받기 힘드니 InputStreamReader를 사용해서 바이트 단위 데이터를 문자 단위로 처리할 수 있게하였다.

### InputStreamReader
---

문자(Character) 단위로 데이터를 처리한다.

InputStream의 데이터를 문자로 변환하는 중개 역할을 한다.

```java
InputStreamReader reader = new InputStreamReader(new InputStream);
```

InputStreamReader은 InputStream 객체를 입력으로 가지고 있어야 한다.
<img width="515" alt="스크린샷 2023-01-07 오후 12 17 28" src="https://user-images.githubusercontent.com/88534959/211129568-27195f96-1456-4922-a4f2-87cea652e819.png">

### BufferedReader
---
버퍼를 두어 문자를 버퍼에 일정 정도 저장해둔 뒤 한 번에 보낸다.

```java
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
```

```java
InputStream inputstream = System.in;
InputStreamReader sr = new InputStreamReader(inputstream);
BufferedReader br = new BufferedReader(sr);
```

1. **바이트 단위**로 데이터를 처리하는 InputStream를 통해서 데이터를 입력받는다.,
2. 바이트 단위 데이터를 **문자(Character) 단위**로 처리하기 위해서 InputStreamReader로 감싸준다.
3. 버퍼(Buffer)를 이용해 입력받은 문자를 쌓아둔 뒤 한 번에 **문자열(String)**로 보낸다.

[System.in](http://System.in) == InputStream → InputStreamReader → BufferedReader

바이트 단위 → Char 단위 → String 단위
Loading