전체 글

백엔드 개발자 취준생입니다:)
Java/Do It! 자바 프로그래밍

[JAVA] 15-5. 보조 스트림

1. 보조 스트림이란? 보조 스트림은 입출력 대상이 되는 파일이나 네트워크에 직접 쓰거나 읽는 기능은 없고 보조 기능을 추가하는 스트림이다. 보조 스트림은 다른 스트림을 감싸고 있다는 의미로 Wrapper 스트림이라고도 한다. 보조 스트림은 자료 입출력을 직접 할 수 없기 때문에 다른 기반 스트림을 포함한다. 2. FilterInputStream 과 FilterOutputStream FilterInputStream 과 FilterOutputStream 은 보조 스트림의 상위 클래스다. 생성자 매개변수 protected FilterInputStream(InputStream in) InputStream protected FilterOutputStream(OutputStream out) OutputStream..

Java/Do It! 자바 프로그래밍

[JAVA] 15-4. 문자 단위 스트림

1. Reader Reader 는 문자 단위로 읽는 스트림 중 최상위 스트림이다. FileReader 파일에서 문자 단위로 읽는 스트림 InputStreamReader 바이트 단위로 읽은 자료-> 문자 변환하는 보조 스트림 BufferedReader 문자를 읽을 때 배열을 제공하여 한번에 읽을 수 있도록 하는 보조 스트림 int read() 파일에서 한 문자 읽기 int read(char[] buff) 파일에서 buf 배열의 문자 읽기 int read(char[] buf, int off, int len) 파일에서 buf 배열의 off 위치부터 len 만큼 문자 읽기 void close() 스트림과 연결된 파일 리소스 닫기 2. FileReader FileReader 는 Reader 중 가장 많이 사용하는..

Java/Do It! 자바 프로그래밍

[JAVA] 15-3. 바이트 단위 스트림

1. InputStream InputStream 은 바이트 단위로 읽는 스트림 중 최상위 스트림이다. InputStream 은 추상 메서드를 포함한 추상 클래스로 하위 클래스에서 추상 메서드를 구현한다. FileInputStream 파일에서 바이트 단위로 자료 읽기 ByteArrayInputStream Byte 배열에서 바이트 단위로 자료 읽기 FilterInputStream 입력 스트림의 보조 스트림의 상위 클래스 read() 반환형은 int로 더 이상 읽어들일 자료가 없는 경우에 -1 반환 int read() 입력 스트림으로부터 한 바이트 자료 읽기 읽은 자료 바이트 수 반환 int read(byte b[]) 입력 스트림으로부터 b[] 크기의 자료를 b[] 에 읽기 읽은 자료 바이트 수 반환 int ..

Java/Do It! 자바 프로그래밍

[JAVA] 15-2. 자바 입출력_표준 입출력

표준 입출력은 콘솔 화면에 입출력된다고 해서 콘솔 입출력이라고도 한다. 자바에서는 표준 입출력 클래스를 미리 정의해두고 프로그램 시작시 자동 생성되므로 따로 만들 필요는 없다. 자료형 변수 이름 설명 static PrintStream out 표준 출력 스트림 static InputStream in 표준 입력 스트림 static OutputStream err 표준 오류 출력 스트림 out, in, err 모두 static 변수로 System 클래스를 생성하지 않고 System.in / System.out / System.err 이렇게 쓸 수 있다. 1. System.in으로 화면에서 문자 입력받기 입출력에 관한 코드를 구현하면 예외 처리를 해야한다. System.in.read();// 한 바이트씩 읽기 실..

Java/Do It! 자바 프로그래밍

[JAVA] 15-1. 자바 입출력_자바 입출력과 스트림

1. 스트림이란? 자바에서 모든 입출력은 스트림(Stream)을 통해 이루어진다. 입출력 장치는 매우 다양하기 때문에 장치에 따라 입출력 부분을 다르게 구현하면 호환성이 떨어진다. 따라서, 자바는 입출력 장치와 무관하고 일관성있게 프로그램을 구현할 수 있도록 일종의 가상통로인 스트림을 제공한다. 자료를 읽어 들이는 Source와 자료를 쓰려는 target에 따라 다른 스트림 클래스를 제공한다. 스트림을 3가지 기준에 따라 분류할 수 있다. 1. 입력 스트림과 출력 스트림 스트림은 단방향으로 자료가 이동하므로 입출력을 동시에 할 수 없다. 1) 입력 스트림: 어떤 대상으로부터 데이터를 읽을 때 사용하는 스트림 - InputStream / Reader 로 끝나는 클래스 2) 출력 스트림: 어떤 대상으로 데이..

Java/Do It! 자바 프로그래밍

[JAVA] 14. 예외 처리

1. 예외 클래스 1. 오류란 무엇인가요? 프로그램 오류의 발생 시점에 따라 2가지로 구분할 수 있다. 1) 컴파일 오류(compile error) 컴파일 오류는 코드 작성 중 실수로 발생하는 문법적인 오류다. 2) 실행 오류(runtime error) 실행 오류는 컴파일 오류는 없으나 프로그램 실행 중 발생하는 오류다. 버그는 실행 오류 중 프로그램을 잘못 구현하여 의도와 다르게 실행되어 생기는 오류다. 런타임 오류로 인한 프로그램이 비정상 종료되는 것을 방지하기 위해 예외 처리를 한다. 예외가 발생했을 때 로그를 남겨두면 예외 상황을 파악하고 버그를 수정하는데 도움을 받을 수 있다. 2. 오류와 예외 1) 시스템 오류(error) Error 는 JVM에서 발생하는 오류로 프로그램 코드로 제어할 수 없..

[Python]알고리즘/백준

[다이나믹 프로그래밍] ★ 1562번 - 계단 수

[백준] 1562번 - 계단 수 (한줄평) 간단하다고 생각했지만 0부터 9까지 숫자가 모두 등장했는지 확인하기 위한 아이디어를 떠올리기 어려웠던 문제였다. 비트 마스킹을 이용한 DP 문제 유사 문제: 10844 https://hseungyeon.tistory.com/302 [다이나믹 프로그래밍] 10844번 - 쉬운 계단 수 [백준] 10844번 - 쉬운 계단 수 (한줄평) 생각보다 빨리 아이디어가 떠올라 쉽게 풀 수 있었던 문제! 2차원으로 접근해야한다는 것을 깨달으면 쉽게 풀 수 있다. 한번쯤 복습해보면 좋을 것 같은 hseungyeon.tistory.com 인접한 모든 자리의 차이가 1인 수를 계단 수라고 한다. 0으로 시작하는 수는 계단수가 아니다. 수의 길이 n이 주어질 때 0~9까지 숫자가 모..

[Python]알고리즘/백준

[다이나믹 프로그래밍] ▲ 2293번 - 동전 1

[백준] 2293번 - 동전 1 (한줄평) 오랜만에 풀었더니 dp 문제 감을 잃었다고 느꼈다. 한 끝차이로 계속 틀린 이유을 찾지 못했던 문제.. 다음에 다시 풀어봐야할 것 같다 풀이 시간: 60분 이내 n가지 종류의 동전을 사용해서 가치의 합이 k원이 되는 경우의 수를 구하는 문제다. 사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. (풀이1) 틀린 풀이 1) 문제 해결 아이디어 점화식을 세우기까지는 오랜시간이 걸리지 않았으나 그걸 코드로 구현하는 과정에서 잘못 생각한 부분이 있어서 어려움을 겪었다. 2) 소스코드 import sys input = sys.stdin.readline n, k = map(int, input().split()) # 동전 종류, 가치의합 graph = [int(..

HSY_mumu
mumu 개발 블로그