Scanner Class 장점 nextInt, nextLong 등의 편리한 메소드를 제공하기 때문에 입력을 받기 편하다. System.out.print 메소드와 같이 사용하면 짧고 가독성도 쓸만한 코드를 금방 짤 수 있다. 문제점 사용하는 건 편한데, 너무 느리다. 왜 이렇게 느린지 궁금해서 intellij를 이용해 내부 클래스를 한 번 살펴봤다. Pattern 클래스와 Matcher 클래스가 보인다. 벌써부터 단순 입력만을 위해 쓰기에는 복잡하지 않을까 하는 느낌이 온다. 클래스 코드 시작 라인이 304인데, 내부에서 사용할 변수 선언이 519 라인까지이다. 변수 선언에만 200 라인을 사용하고 총 라인 수는 2600 라인이다. BufferedReader 클래스의 총 라인 수가 500 ~ 600 라인 ..
알고리즘 문제 풀이 파일을 관리하고 싶은데.. 알고리즘 문제를 풀고 그냥 소스코드를 날리는 것이 아니라 코드를 문제별로 잘 정리한 뒤에 깃허브에 저장해서 사용하고 싶다. 문제는 intellij에 아무런 설정을 안 하면 아래와 같이 자바 파일을 만들 때 굉장히 번거롭다. 파일을 만들 때 하나하나 .java 확장자를 붙여줘야 되고 만든 파일 내에 같은 이름의 클래스가 자동 생성되는 것이 아니라 빈 파일만 덩그러니 나온다. 문제 하나 풀 때마다 같은 작업을 계속 반복해서 해야 하는데, 이게 너무너무 귀찮다. 또 다른 문제는 컴파일과 실행이다. 매번 터미널을 이용해 자바 파일을 컴파일한 뒤 클래스 파일을 실행해야 된다. 이전 문제와는 비교도 되지 않을 정도로 귀찮다. 문제 잘못 풀면 매번 컴파일하고 실행해야 되..
부트 캠프 지원 계기 처음 부트 캠프를 생각하게 된 계기는 공부 자료 때문입니다. 개발 실력을 기르기 위해 필요한 자료들을 찾아야 하는데, 제대로 된 자료를 찾기 힘들었습니다. 인터넷에는 잘못된 정보도 정보지만 옛날에나 쓰던 개발 코드들이 계속 재반복되어 올라오는 게 문제였습니다. 분명 글은 몇 달 안 된 글인데, 내용은 7년 전에 게시된 어느 글과 거의 다를 바가 없는 경우가 많았습니다. 특히 자바 게시판과 자바스크립트 엔진에 대한 내용은 몇 년째 안 변하는 건지 알 수가 없을 정도로 긴 기간 동안 코드가 같더라구요 ㅋㅋㅋ 책은 책대로 개발 기초를 위한 책을 찾기가 힘들었습니다. 출판된지 오래된 책도 많구요. 사람인 백엔드 개발자 구인 공고에 나오는 기술들을 적용한 프로젝트를 해보고 싶었는데, 그런 책..
6. B - Minesweeper 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; st = new StringTokenizer(br.readLine()); int h = Integer.parseInt(st.nextToken()); int w..
1. B - Trained? 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; int n = Integer.parseInt(br.readLine()); int[] arr = new int[n + 1]; boolean[] visited = ne..
문제 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 StringTokenizer 클래스를 사용하는 것이 가장 편리합니다. 알아서 공백 문자열을 기준으로 잘라서 유효한 String만을 골라 추출하기 때문입니다. PS판에서 Java를 통해 문제를 풀겠다면 반드시 사용하게 되는 클래스입니다. StringTokenizer 클래스의 countTokens 메소드를 이용해 단어의 개수를 쉽게 알 수 있습니다. * 주의점 String의 split 메소드는 라인의 앞뒤에 공백 문자가 있거나 순수 공백 문자열 또는..
문제 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 a, b를 정수가 아닌 실수로 받아 a/b를 출력하면 됩니다. 자바의 double은 소수점을 16자리까지 표현이 가능하므로 자연스럽게 오차가 1e-9 이하가 됩니다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedW..
문제 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 정수 a, b를 받고 a - b를 출력하면 됩니다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; st..
- Total
- Today
- Yesterday
- Ugly Numbers
- boj 10775
- 사탕상자
- 백준 2336
- 디지털 비디오 디스크
- boj 12713
- 백준 3006
- 터보소트
- 제로베이스 백엔드 스쿨
- 백준 16562
- boj 9345
- 백준 10775
- 인간 대포
- boj 2243
- boj 2336
- boj 3006
- 부트 캠프
- 백준 9345
- boj 10473
- 백준 10473
- 백준 2243
- boj 14868
- boj 1106
- 백준 1106
- 제로베이스 스쿨
- boj 16562
- 백준 1280
- 백준 12713
- 백준 14868
- boj 1280
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |