총 마라톤과제 24문제 중에서 16번 문제를 진행중이다.
지금까지 3문제정도가 정말 지독하게 풀리질 않고 있는데 더 풀리질 않는다면
다른 팀원들이나 항해분들은 어떻게 했는지 한번 여쭤볼 계획이다.
3문제중에 한 문제가 웃기게도 1번문제였는데 아마도 평소의 나였으면 1번문제부터 막혀서
참 답답해하면서 진도가 쭉쭉 나가질 않았을것 같다.
팀원분께서 한 문제 한 문제 풀어나가는 것보다 5문제정도까지 지문을 읽은 후
어떻게 코드를 짜야겠다 라고 로직을 떠올려 미리 적어 놓고
그 다음 다시 1번 문제부터 풀리면 좋을거라고 했는데 그대로 하니 정말 효과가 좋았다.
앞으로의 코테는 이런식으로 진행하는 것이 좋겠다.
1번문제는 달력 문제 였는데
달력 관련된 문제가 나오면 항상 약했던것같다.
결국에 해결하긴 했는데 특정 월일까지의 날짜를 모두 카운트한 후
while문을 통해 카운트가 0이 될때까지 계속 돌리고 그렇게 되면 해당 요일이
나온다
뭐 어떻게보면 이런 구문 저런 구문 쓰는것보다 가장 직관적인거 같아서 이대로도 만족한다.
프로그래밍 스킬
나는 보통 코딩테스트를 볼때 배열과 리스트를 주로 이용하고 모두 검사하여 중복값을 제거한다던지 등의
작업을 많이해서 코드가 많이 지저분해지고 예외처리할 부분들이 많았다.
이번에 알고리즘 세션을 듣기도했고 이렇게만 해서는 정말 다 풀지 못하겠다는 생각이 들어서 이런저런 방법을
쓰는 도중 내가 참 몰랐구나라고 느꼈던 포인트들의 코드들이 있었다.
해당 코드의 일부만 가져와봤는데 위의 코드를 요약해 보자면
1. HashSet을 선언한다.
2. set에 리스트의 값을 모두 넣는다. (set에 리스트값이 복사됨)
3. 원본의 리스트 값은 모두 지운다.
4. 다시 set의 값을 리스트에 넣는다.
5. 그리고 배열로 선언하고 반복문을 통해 배열로 삽입한다.
set의 중복값은 허용하지 않는 특성을 이용한 코드로 내가 지금까지 했던 중복제거 코딩 방식을 훨씬 간결하게
만들어주는 코드같다.
또한 내가 지금까지 했던 중복제거 방식은 내가 놓칠만한 부분이 굉장히 많아서 위와 같은 방식으로
코딩하는 법도 많이 고려해봐야겠다.
또한 이러한 코드도 있다.
이 역시 배열의 중복값을 체크하는 코드로 start에 초기값을 넣어놓고 반복문을 돌려 그 다음 인덱스의 값과
비교하며 변수에 데이터를 넣는다.
이 역시 잘 활용하면 여기저기서 유용하게 많이 사용될 코드 같다.
내가 지금까지 이 두가지의 방식을 몰라서 많은 고민을 했는데 적어도 이제 이 두가지는 잘 알았으니
다음에는 이 고민할 시간에 다른 고민을 하면서 코딩력을 살찌우자 !
알고리즘 문제
진짜 중간이 없었다. 쉬운 문제는 정말 쉽게 풀었고 어려운 문제는 계속 고민했던거 같다.
정말 쉬웠던 문제는 제출하고 넘어가는데까지 3분도 안걸렸던거같다.
문제를 계속 풀면서 드는 생각은 예전에는 while문을 왜 써야하지 라고 생각했기도 하고
머리로 로직도 생각이 나질 않았는데 그래도 지금은 그 로직정도는 빠른 시간에 떠오르는거 같다.
그러다 보니 조금 더 어려운 문제도 응용할수있어지고 예전에는 hashset 사용은 엄두도 못냈는데
이번에 처음 써보면서 실력이 좀 늘었다는걸 느꼈다.
실제로 실력이 늘었다는걸 알 수 있는게 예전에는 프로그래머스 lv0 짜리 문제만 주로 풀고 그랬는데
이제 프로그래머스 lv1짜리 문제들을 보는데도 못풀겠다 못하겠다라는 생각은 전혀 안든다.
이제 좀 더 실력이 늘어난다면 그땐 자료구조에 대해서도 공부해봐야겠다
각 문제별 주석 및 회고하기
내가 푼 문제들이 일단 바로 깃허브에 올라가는게 너무 편하다
그리고 내가 푼 문제들은 복기하는 느낌으로 다시 보면서 주석문을 달고 있는데
어느정도 이해가 되는거 같다
앞으로도 꾸준히 한다면 나도 모르는 사이에 많이 성장해있겠지라고 생각한다
내일 할 것
일요일 확실히 쉬어두기
WIL 작성
WIL 작성하고 문제 좀 읽어두기
'legacy > 항해99 일지' 카테고리의 다른 글
20221121 (월) TIL (0) | 2022.11.22 |
---|---|
20221120 (일) 2주차 정리 WIL (0) | 2022.11.20 |
20221118 (금) TIL (2) | 2022.11.18 |
[JAVA] 항해99 문법 (0) | 2022.11.18 |
20221117 (목) 1주차 프로젝트 트러블 슈팅 (0) | 2022.11.18 |