220629 TIL 이게 왜 안돼????

오늘은 코딩 도장 이야기로 시작하려고 한다. 요즘은 코딩 도장을 프로그래머스 사이트 level 1문제를 풀고 있다.

아무래도 level1문제다 보니까 이전에 풀었던 지그재그 문제나 Spiral Matrix 같은 문제보다 훨씬 쉽다. 그러다 보니 문제를 딱 보고 바로 풀이법이 떠오르고 문제를 해결하는데 까지 얼마 걸리지 않는다. 지그재그를 일주일 만에 풀었던걸 생각하면 프로그래머스 level1문제들은 아주 나를 기분 좋게 한다. (level이 높아지면 또 나를 괴롭히겠지..)

오늘의 프로그래머스 문제는 "약수의 합"이다. 이 문제를 보고 바로 for문 쓰면 되겠다 생각하고 10분 만에 풀었다. 그리고 든 생각은 50분이나 남아서 이렇게 쉬운 문제 풀 때 빨리 stream을 사용해보면서 stream 사용법을 익히자 생각했다. 아직까지 stream보다는 for문이 더 쓰기 편하기 때문에 이렇게 쉬운 문제 풀 때 의식적으로 stream을 사용하지 않으면 나중에 어려운 문제에서 stream을 써야 하는 상황인데 못 쓸 거 같아서 지금부터 천천히 익숙하지 않은 메서드들을 코딩도장 시간에 활용하려고 한다.

 

 

어제와 마찬가지로 오늘도 "이게 왜 안돼?"를 외치는 하루였다. 이번 주는 코드를 작성하면서 정말 괴로울 때가 많았다..

저번주와 비교해보면 저번 주는 일단 강의라는 정답이 있었기 때문에 하다가 막히면 강의를 보면서 아 이 부분이 잘못됐었는구나! 하면서 캐치가 가능했는데 이번 주는 처음부터 끝까지 내가 구상하고 짠 코드기 때문에 정답이 없을뿐더러 문제가 생기면 내가 해결해야 한다.

정답이 없는 문제를 해결한다는 게 너무 힘들다.. 

그래서 오늘 나를 힘들게 한 문제는 어제 해결하지 못한 수정과 삭제 기능이다... 어제 분명히 til에 "내일 til에 어제 해결하지 못했던 문제... 이러면서 til을 작성하지 않기를 " 이렇게 작성해놓고 오늘 또 til에 적고 있는 나를 보면... 말이 안 나온다..

 

왜 수정과 삭제가 안돼??

우선 삭제 기능부터 구현하려고 했는데 글을 삭제하기 위해서는 어떤 글을 삭제하려고 하는지 알기 위해 글을 쓸 때 글에게 번호표 같은 것을 줘야 나중에 이 번호를 가진 글을 삭제하는 방식으로 접근했다.

그래서 내가 사용한 방법은 HashMap을 이용해서 글의 제목을 Key값으로 주고 글의 내용을 Value값으로 줘서 삭제하려는 글의 제목을 번호표 역할을 하게 했다. 삭제하려는 글의 제목(Key)을 받아서 그 key를 통해 HashMap에 저장된 값을 지운 다음 다시 글 목록에 출력하는 식으로 구상을 했다. 그런데 언제나 그랬듯이 생각처럼 되지 않았다. 

우선 첫 번째 문제는 글을 지우는 건 되는데 맨 처음에 쓴 글이 지워지지가 않았다. 2, 3번째 작성한 글은 지워지는데 첫 번째 글만 왜 지워지지 않는지..... 

 

두 번째 문제는 JLabel로 글 제목을 페이지에 출력했는데 글을 삭제하면 화면에 출력했던 글이 사라지게 해야 하는데 자꾸 잔상이 남듯 화면에서 사라지지가 않는 것이었다. 그래서 이걸 해결하기 위해 새로고침이라는 버튼을 만들어서 모든 JLabel을 지운 뒤 지워진 글만 빼고 다시 화면에 출력하려는 방법을 생각했는데 이것 또한 생각대로 되지가 않았다.

새로고침이라는 버튼을 클릭했을 때 모든 JLabel을 지우는 이벤트를 추가했는데 아무리 새로고침을 눌러도 지워지지가 않는 것이었다..

진짜 왜 안되는지 이유를 모르니까 너무 답답했었다. 결국 이 문제는 불과 몇 시간 전 새벽에 동료분들의 도움을 받아 해결을 했다.

 

결국에 오늘은 이런저런 오류만 수정하다가 하루를 다 보냈다...

내일도 이렇게 오류만 수정하면서 본질에 집중하지 못하면 아마 게시판을 완성시키지 못할 것 같아서 내일은 사소한 것들을 수정하기보다는 게시판의 핵심 기능인 수정하기, 삭제하기 기능을 구현하는데 집중해야겠다.

화요일에 했어야 할 일을 아직도 완수 못한 채 넘어가고 있는데 목요일에는 무조건 완성시켜서 최소한의 기능을 하는 게시판을 만들자. 그러기 위해서 해야 할 액션플랜은 아무래도 수정하기, 삭제하기 기능을 만드는 건데 혼자 하다 막히면 질문을 적극 이용하자!

저번에도 질문을 한다 하고 그동안 몇 번 안 했는데 이번에는 정말 어떻게든 해결을 해야 하기 때문에 막힌다 싶으면 질문을 하는 게 액션플랜이다.