오늘 진행한 것들 🤔
- 동적계획법 / 분할정복 정리 (분할정복 응용한 병합정렬,퀵정렬 정리)
다이나믹 프로그래밍 / 분할정복 (을 활용한 병합정렬/퀵정렬)
동적 계획법 / 분할 정복 동적 계획법 (다이내믹 프로그래밍) 입력 크기가 작은 부분 문제들을 해결한 후 메모이제이션 기법을 사용해서 (미리 결괏값을 저장하여) 문제를 푸는 것 상향직 접근법
codinghentai.tistory.com
- 분할정복/재귀용법 알고리즘 풀이
백준 2447번 별 찍기 - 10 (자바) 풀이
시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 59667 32112 24013 53.832% 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각
codinghentai.tistory.com
백준 17829번 222-풀링 (자바) 풀이
시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 2019 1447 1157 74.501% 문제 조기 졸업을 꿈꾸는 종욱이는 요즘 핫한 딥러닝을 공부하던 중, 이미지 처리에 흔히 쓰이는 합성곱 신경망(Con
codinghentai.tistory.com
백준 1992번 쿼드트리 (자바) 풀이
시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 35339 21993 17231 61.423% 문제 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과
codinghentai.tistory.com
백준 1780번 종이의 개수 (자바) 풀이
시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 34215 20278 15221 58.515% 문제 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행
codinghentai.tistory.com
백준 2630번 색종이 만들기 (자바) 풀이
시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 28779 19535 15790 68.832% 문제 아래 과 같이 여러 개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은
codinghentai.tistory.com
- 테스트코드 노하우 정리
내가 기억하기 쉬우라고 작성한 단위테스트
단위테스트는 어떻게 진행될까? 사람마다 다를 수 있으나 (?) 기본적으론 gwt (given & when & then)으로 진행된다. Given ⇒ 어떠한 상황이 주어진다. When ⇒ 어떠한 행동을 한다면 Then ⇒ 어떠한 행동이
codinghentai.tistory.com
- 실시간 강의 데이터베이스 수강
- 각종 실습문제 풀이 (join 과 서브쿼리 활용)
오늘의 배운 점 🤔
- 다이나믹 프로그래밍과 분할정복에 대해서 배웠습니다.
- 오늘은 뭔가 분할정복 문제를 풀이해보고 싶어서 알고리즘을 5문제나 풀었습니다.
- 모든 문제를 완벽하게 혼자 힘으로 풀이하지 못했습니다.
- 재귀용법과 분할정복을 배운지 얼마 되지도 않았는데 어떻게 저 혼자 풀죠? 귀신같이 구현법을 모르겠을때 풀이를 참고했습니다.
- 하지만 기본적인 로직은 제가 생각했던것과 거의 비슷했었습니다.
- 처음부터 잘하길 바라면 안되겠습니다. 오히려 오늘같이 풀이하는게 더 이해가 잘되는것 같았습니다.
- 알고리즘으로 문제를 잘 푸느냐도 중요하지만, 결국 코딩테스트를 준비하는 과정이기때문에 실제로 해당 알고리즘을 실무에서 써먹을 수 있으려면 이해도가 높아야한다고 생각하는데, 급하게 하면 안되겠다는 생각이 들었습니다.
- 보통 분할정복 문제에서 막혔던 부분은 재귀호출을 어느 부분에서 해야할지가 가장 헷갈렸던것 같습니다.
- 보통은 쪼개는 부분에서 호출하고, 브레이크 포인트는 더이상 쪼갤 수 없는 부분에서 걸어주면 되는걸 느꼈습니다.
- 알고리즘 문제도 한마디 한마디 문장을 이해하듯이 풀이하면 더 쉽게 다가오는것 같습니다.
- 데이터베이스 실습문제들을 풀었습니다.
- 실시간 강의에서 저번주에 배웠던 join 에 이어서 subquery 를 이용하여 원하는 데이터를 가져올 수 있도록 실습문제들을 풀이하였습니다.
- 보통 어려워지기 시작하는 부분은 테이블들이 복잡하게 얽히기 시작할때 입니다. 조인에 대한 순서보다는 원하는 데이터를 어떻게 조인해야지 한번의 쿼리실행으로 가져올 수 있을지가 관건이었던거 같습니다.
- inner join 과 outer join 에 대한 차이를 직전 강의때 정리했었는데, 오늘 문제가 등장했었습니다.
- 바로 두 테이블을 조인했을때, 값이 null인 로우의 갯수를 가져오는 문제였는데, right 조인을 사용하여 풀이하라고 되어있길래 right outer join 으로 조인해 where 로 가져오도록 했더니 쉽게 풀렸습니다.
- 대체적으로 서브쿼리를 사용해 가져오는것보단 join을 사용해 가져오는것이 머리로도 잘 그려지고 이해가 잘되는것 같습니다.
- 단순히 각각 겹치는 컬럼을 inner join 으로 조인 후 원하는 조건에 대한 데이터를 가져오는 문제들이 많았습니다.
- join문에 대한 반복적인 쿼리문 작성은 코파일럿이 도와주긴 했지만, 해당 로직에 대한 구현은 제 머리로 했으나, 강사님께서 어려운 문제라고 극찬을 해주셨습니다.. 기분이 좋았습니다 :D
- 실시간 강의에서 저번주에 배웠던 join 에 이어서 subquery 를 이용하여 원하는 데이터를 가져올 수 있도록 실습문제들을 풀이하였습니다.
내일 목표 🤔
- 동적계획법 알고리즘 문제 풀이
- 새 토이프로젝트 설계
- 실시간 강의 컴퓨터구조 수강
- 그룹스터디 인사이트 공유 후 정리
'TIL' 카테고리의 다른 글
22-12-29 TIL (0) | 2022.12.29 |
---|---|
22-12-28 TIL (0) | 2022.12.28 |
22-12-22 TIL (0) | 2022.12.22 |
22-12-21 TIL (0) | 2022.12.21 |
22-12-20 TIL (0) | 2022.12.20 |