본문 바로가기
T.I.L. :: Today I Learned/항해99 14기 본과정

Day 6. 알고리즘 척척 풀어봤으면 소원이 없겠는 하루

by DaSsom 2023. 4. 8.

공부한 내용

 https://mansooonuna.tistory.com/29

 

재귀 :: 유클리드 호제법 - 최대공약수 구하기

드디어, 재귀 알고리즘 중 유클리드 호제법을 이해하였다. 다른 사람들에겐 우습고 유치한 '최대공약수 구하기' 일지 모르지만 나에겐 큰 성장이고, 드디어 알아냈다는 것이 기뻐서 기록하려고

mansooonuna.tistory.com

아.. 이해가 안되서 덮어놓고 있었던 유클리드 호제법을 드디어 오늘 30% 정도는 이해했다 ~

전에 그냥 공식처럼 외우려고 했었는데 반복문 써서 직접 구현해봤다. 아직 아주 깔끔하지 않아서 조금 아쉽지만 생각해서 구현하는 연습을 좀 더 해야겠다.

 

그리고 자바의 예외처리에 대해 공부했다.

처음엔 예외처리를 왜하는지도 몰랐지만? Exception과 Error의 차이에 대해서도 알게 되었고 다양한 Exception 를 잘 처리만 해주면 어떤 에러가 발생했는지 파악하게 되어 이후 대응을 쉽게 할 수 있다는 것도 알았다. 예외의 부모 클래스인 Exception으로만 처리할 수 있지만 그렇게 되면 '오류 상황 대응 부재' 라는 취약점을 갖게 된다고 한다. 

이런것들을 공부하고나니 지난번에 풀었던 알고리즘 문제가 떠올랐다.

스택을 활용하여 풀었던 문제였는데 EmptyStackException이 발생한다.

  		    try {
                        stack.pop();
                    } catch (Exception e) {
                        stack.push(s);
                        break;
                    }

해당 부분을 위 코드처럼 try-catch 문을 사용하여 감싸주면 이것도 예외처리?라고 볼 수 있을 것 같다.

 

 

 

오늘의 회고

문제풀다 지쳐서 더 많은 걸 못했지만 Collection / Stream 에 대해 더 공부해야겠다. 알고리즘 문제풀때 많이 사용되지만 내가 제대로 이해하고 있지 않아서 쉽게 갈 길을 빙빙 돌아가는 회전목마처럼 계속 도는 듯 

 

 

오늘의 요약 : 

알고리즘으로 11커밋해버리기...🫠 머리 깨져버리기...

 

 

앗, 그리고 오늘 기술매니저님ㅋㅋㅋ이 ㅋㅋㅋ 

엄청난 자신감을 심어주셔서 진짜 잘될 것 같다⭐

아자 아자 화이자