Programming
-
회고, 2019Programming/blog 2020. 3. 18. 17:21
January - 부스트 캠프 안될 것 같더라도 우선 해보자 2018년 말부터 준비하던 부스트 캠프에 최종합격하여 캠프 생활을 시작하였다. 2018년 여름부터 시작했던 부스트 코스(커넥트재단)를 시작으로 올 초까지 인연이 된 것이다. 지원하기 전에는 과연 내가 할 수 있을까?라는 생각을 많이 했다. 하지만 미루었던 졸업도 해야하고 뭐든 하지 않으면 안될 것 같았다. 불안하지만 지원서를 제출했고 운이 좋게도 합격하여 프로젝트를 진행할 수 있었다. 우선 결과적으로 부캠의 활동은 올 한해 나에게 많은 영향을 주었다. 무엇보다도 같이 했던 조원들과 많이 친해졌고 아직까지 연락을 하고 지내는 사이가 되었다. 다른 것보다 좋은 인연을 만들어서 좋았다. 항상 처음부터 완벽한사람은 없다. 떨어지면서 경험치도 쌓이게 되..
-
Git StashProgramming/Git 2018. 12. 5. 14:53
stashA 작업중 commit하지 않고 B작업을 하고 돌아와, 다시 작업을 이어가고 싶을 때 사용하는 기능 알고리즘 문제를 풀 때, 문제 번호별로 브랜치를 나누고 문제를 다 풀면, master에 합치는 과정으로 알고리즘 파일을 관리하고 있다. 문제를 푸는 도중에 풀리지 않아 멈춰 놓았다, 다른 문제를 푸려고 다른 브랜치를 파는 경우가 있었는데 이 때마다 풀던 알고리즘을 commit 하고 '푸는중'이라는 메세지를 남겼다. 깃을 배우다 보니 commit이 완성된 작업단위로 메세지를 남기는 것이 좋을 것 같아, 위의 방법을 해결할 기능을 찾던중 stash를 알게 되어 정리하고자 한다. git stashstash명령을 사용하면 Working Directory에 작업중인 상황을 저장하게 된다.stash를 하게 ..
-
BufferedReader 사용하기Programming/Java 2018. 11. 9. 17:01
BufferedReader자바에서 사용되는 입력 받는 방법에 대해서 알아보자. 알고리즘을 풀 때 Scanner를 사용하면 입력이 느린경우가 있다. 최적하를 위해서 어떤 방법이 있는지 알아보자.ScannerxScanner sc = new Scanner( System.in );int T = sc.nextInt(); 자바에서 가장 흔하게 입력받는 방법이다. nextInt()의 경우 개행문자를 받지 않기 때문에 입력받을 때 신경써주어야 한다. BufferedReaderxxxxxxxxxxBufferedReader br = new BufferedReader( new InputStreamReader(System.in));int T = Integer.parseInt( br.readLine()); BufferedRea..
-
객체지향 생활 체조Programming/Java 2018. 9. 13. 01:04
객체지향 생활 체조 The ThoughtWorks Anthology 챕터중 객체지향생활체조부분 절차지향적인 코딩이 아닌 객체지향적인 코딩을 연습할 목적으로 만들어진 가이드 라인이라고 생각하면 된다. 때문에 매우 극단적이다. 책에서는 총 9가지 훈련법을 극단적으로 지켜서 1000줄짜리 코드를 짜는 연습을 하라고 되어있다. 그만큼 연습을 목적으로 이루어진 규칙이다. 때문에 처음에는 이해가 안되는 부분이 많았다. 굳이 이렇게 까지 해야하는 이유가 뭐지? 이런 규칙들은 차라리 객체지향방법에 어긋나는 것이 아닌가? 코드가 너무 낭비되는 것 아니가? 라는 생각이 들때도 많아서 읽으면서 물음표가 많았다. 쉽게 생각하면 드래곤볼의 손오공이 무거운 모래주머니 차고 움직이는 연습하는 것과 같다고 할 수 있다. 총9가지 규..
-
BufferedReader와 StringTokenizer를 사용해보자Programming/Java 2018. 5. 18. 02:24
static class Scan { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = null; int nextInt() throws IOException{ if(st == null || !st.hasMoreTokens()){ st = new StringTokenizer(br.readLine()); } return Integer.parseInt(st.nextToken()); } } BufferedReader와 StringTokenizer를 계속사용해야 한다면 이너클래스로 정의해 놓자.