DEV ℧ Developer Diary

[Silver1] No.01697 숨바꼭질

숨바꼭질

No.01697 숨바꼭질

문제

수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는...

[Silver1] No.16953 A -> B

A -> B

No.16953 A -> B

문제

정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다.

  • 2를 곱한다.
  • 1을 수의 가장 오른쪽에 추가한다.

A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자.

문제 풀이

생각보다 너무 쉽게 풀려...

[EffectiveJava] item09 - try-finally보다는 try-with-resources를 사용하라.

try-finally보다는 try-with-resources를 사용하라.

자바 라이브러리에는 close()메서드를 호출해 닫아줘야 하는 자원이 많다.

예를 들면 InputStream,OutputStream,java.sql.Connection 같은 클래스들이 있다.

close();를 사용하는 이유 IO 객체와 같은 클래스는 OS로부터 자원을 할당받아 사용하는 네이티브 메서드들을 가지고 있는 경우가 있다. GC는...

[Git] Git 메시지 컨벤션이란?

Git - Commit Message Convention

커밋 메시지를 작성할 때는 원칙을 정하고 일관성있게 정해야 협업간에 쉬운 의사소통이 가능하다. 이번에 기회가 되면 정리하고자 하던 깃 메세지 컨벤션을 정리해 보았다. 아직 깃커밋 메시지가 익숙하지 않아 내가 참고하려고 정리를 다시 해보았다. 이런 약속은 사소하지만 정말 중요한것 같다.

<h2…

[EffectiveJava] item08 - finalizer와 cleaner 사용을 피해라.

finalizer와 cleaner 사용을 피해라.

finalizercleaner은 자바에서 제공하는 객체 소멸자이다. 하지만 이름이 무색하게도 해당 객체들은 크게 쓰이지 않는다.

@Override public void finalize() { ... } 

finalize 메서드를...