전체 글
-
[백준] 2110 공유기 설치ALGORITHM/BOJ 2021. 2. 23. 13:22
www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 2021-02-23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 import java.io.BufferedReader; import java.io.InputStreamRe..
-
[live-study] 13주차 :: I/OJAVA/라이브 스터디 | whiteship 2021. 2. 21. 14:11
참고도서 : Java의 정석(3rd Edition), 이것이 자바다 1. 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O 입출력 입출력이란 말 그대로 입력과 출력을 줄여서 말한 것으로 Input과 Output (I/O)을 말한다. 키보드로부터 데이터를 입력받는다거나, 화면에 출력한다던가 하는 것이 입출력의 기본 예이다. IO / NIO 자바 4부터 새로운 입출력(NIO : New Input/Output)이라는 뜻에서 java.nio 패키지가 포함되었다. 그리고 자바 7부터는 자바 IO와 NIO 사이의 일관성 없는 클래스 설계를 바로 잡고, 비동기 채널 등의 네트워크 지원을 강화한 NIO.2 API가 추가되었다. NIO.2는 java.nio2 패키지로 제공되지 않고..
-
[백준] 3649 로봇 프로젝트ALGORITHM/BOJ 2021. 2. 18. 14:10
www.acmicpc.net/problem/3649 3649번: 로봇 프로젝트 각 테스트 케이스마다 한 줄에 하나씩, 구멍을 완벽하게 막을 수 있는 두 조각이 없다면 'danger'를 출력한다. 막을 수 있는 경우에는 'yes ℓ1 ℓ2'를 출력한다. (ℓ1 ≤ ℓ2) 정답이 여러 개인 경우에 www.acmicpc.net 2021-02-18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; im..
-
[백준] 1062 가르침ALGORITHM/BOJ 2021. 2. 15. 21:18
www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 2021-02-15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 import java.io.Buffer..
-
[live-study] 12주차 :: 애노테이션JAVA/라이브 스터디 | whiteship 2021. 2. 15. 00:12
참고도서 : Java의 정석(3rd Edition) 0. 애노테이션 애노테이션이란 애노테이션(Annotation)은 주석이라는 뜻이다. 자바를 개발한 사람들은 소스코드에 대한 문서를 따로 만들기 보다는, 소스코드와 문서를 하나의 파일로 관리하는 것이 낫다고 생각했다. 그래서 주석 /** ~ **/ 에 소스코드에 대한 정보를 저장하고, 그 소스코드의 주석으로부터 HTML문서를 생성해내는 프로그램 (javadoc.exe)을 만들어서 사용했다. 주석과 마찬가지로 프로그래밍 언어에 영향을 끼치지 않으면서, 유용한 정보를 제공한다. 그리고 모든 애노테이션의 조상은 Annotation (java.lang.annotation.Annotation) 이다. 하지만, 애노테이션은 상속이 허용되지 않으므로 아래와 같이 ex..
-
[live-study] 11주차 :: EnumJAVA/라이브 스터디 | whiteship 2021. 2. 15. 00:11
참고도서 : Java의 정석(3rd Edition), Java in a Nutshell 0. Enum Enum(열거형) 열거형은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다. 자바는 C언어와 달리 원래 enum을 제공하지 않았으나 JDK1.5부터 새로 추가되었다. 그리고, 현재 자바의 Enum은 C언어보다 더 많은 장점을 갖고 있다. C/C++같은 경우 enum은 결국 값이 int지만, 자바의 enum은 타입도 관리 할 수 있는 완전한 기능을 갖춘 클래스이다. 1. enum 정의하는 방법 enum 정의 간단하게 아래와 같이 괄호 { } 안에 상수의 이름을 나열하면 된다. 예를 들어, 3가지 Grade를 상수로 정의하는 enum Grade는 아래와 같다. en..
-
[live-study] 10주차 :: 멀티쓰레드 프로그래밍JAVA/라이브 스터디 | whiteship 2021. 2. 15. 00:11
참고도서 : Java의 정석(3rd Edition) 0. 프로세스와 쓰레드 프로세스(Process) 프로세스란 간단히 말해서 '실행 중인 프로그램' 이다. 프로그램을 실행하게 되면 OS로부터 실행에 필요한 자원을 할당 받아서 프로세스가 된다. 프로세스는 (프로그램을 수행하는데 필요한 데이터와 메모리 등의) 자원과 쓰레드로 구성되어 있다. 쓰레드(Thread) 즉, 쓰레드는 프로세스의 자원을 이용해서 실제로 작업을 수행하는 주체이다 그래서 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재한다. 이 때, 둘 이상의 쓰레드를 가지는 프로세스를 '멀티쓰레드 프로세스(multi-threaded process)'라고 한다. 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않으나, 쓰레드가 작업을 수..
-
[백준] 1561 놀이공원ALGORITHM/BOJ 2021. 2. 13. 22:32
www.acmicpc.net/problem/1561 1561번: 놀이 공원 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)과 M(1 ≤ M ≤ 10,000)이 빈칸을 사이에 두고 주어진다. 둘째 줄에는 각 놀이기구의 운행 시간을 나타내는 M개의 자연수가 순서대로 주어진다. 운행 시간은 1 이상 30 www.acmicpc.net 2021-02-13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 import java.io.BufferedReader; imp..
-
[프로그래머스] 기둥과 보 설치 (2020 KAKAO BLIND RECRUITMENT)ALGORITHM/PROGRAMMERS 2021. 2. 11. 22:23
programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 2021-02-11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1..