개발지식 먹는 하마 님의 블로그

[사전캠프 11일차] _ Java 예외처리 본문

TIL

[사전캠프 11일차] _ Java 예외처리

devhippo 2025. 1. 31. 19:32

Java 전공책을 전체적으로 복습했다.
클래스 등 이미 잘 알고 있는 내용은 가볍게 훑고 넘어갔고
자세하게 기억이 나지 않는 부분부터 블로그에 정리하고자 했다.
Java 그래픽 부분도 공부했는데 책에 전체적으로 내용이 퍼져있어서 아직 정리를 완료하지 못했다.

[오늘의 학습 키워드]

#예외처리 #하노이탑

[학습 내용 정리]

https://devhippo.tistory.com/29

 

Java - 예외 처리

자바에서 예외 처리는 if와 else로도 처리가 가능하지만, 자바가 보유한 예외 처리 기능을 사용하는 편이 보다 명확하고 바람직한 프로그램 구조를 이룰 수 있다.[ try-catch ]Java의 기본적인 예외 처

devhippo.tistory.com

 

[학습하며 겪었던 문제점]

하노이탑 알고리즘을 구상하는데서 어려움을 겪었다.

내가 DFS, BFS와 같은 탐색 알고리즘 형태로 문제 풀이를 하려고 했기 때문이다.

나는 스택을 3개를 써서 원반을 각각 이동시키려고 했다.
이에 맞춰서 코드를 짜다보니 코드가 굉장히 복잡해졌고 이것이 잘못된 방법인것 같다고 느꼈다.
다른 방법이 도저히 떠오르지 않아 다른 사람의 코드들을 참고했다.

원리는 다음과 같다.

 

  • N-1개의 원반을 시작 기둥에서 보조 기둥으로 이동
  • 가장 큰 원반을 목표 기둥으로 이동
  • N-1개의 원반을 보조 기둥에서 목표 기둥으로 이동

이를 N부터 입력해서 1번까지 재귀함수를 호출한 후, 호출이 쌓인 재귀함수를 하나씩 풀어가는 느낌이었다.

 

코드를 어느 정도 이해한 후 문제를 다시 풀었더니
원리를 이해해서 풀었다기 보다는 암기해서 풀었다는 느낌을 받았다.

그래서 내일 다시 문제를 풀어보려고 한다.
재귀적 사고력이 아직 부족하다고 느꼈기 때문에 다른 재귀함수 문제들도 풀어보려고 한다.

[ 내일 학습 할 것 ]

하노이탑 문제 다시 풀어보기