1. 이번 주 항해 취업 리부트코스에서 내가 구현한 기능 유저의 기본적인 기능과 관련된 기능을 구현. 회원가입 및 로그인 : 소셜 로그인 기반으로 구현. 회원가입의 경우 로그인시 자동적으로 DB에 데이터가 저장된다. 로그아웃 : 로그아웃 버튼 클릭 시 저장되어 있던 유저와 관련된 정보를 지운다. 사실 이 프로젝트의 메인 주제는 정산 기능을 구현하는 것인데, 도중에 주제 변경을 하다보니, 아직 비디오를 재생하고, 조회수를 누적하는 기능까지 만들지는 못했다. 하지만 다음 주차가 시작하는 수요일이전까지는 기능을 완료해서 2주차 프로젝트 진행에 차질이 없도록 노력해야겠다. 2. 해당 기능을 구현하기 위해 거친 기술적 의사결정 고민한 기술의 종류 MySQL vs MariaDB 각각의 장단점 둘 모두 지금까지 보편..
전체 글
오늘 목표 코딩 테스트 문제 복기 TIL 작성 프로젝트 선정(1차) 오늘 부로 알고리즘 주간이 끝이 났다. 짧은 기간동안 많은 것들을 배웠고 많은 것들을 머리에 넣으려다보니 집중이 잘 되지 않아 아쉬웠던 때도 있었다. 그래도 지금 배운 이 감각을 까먹지 않으려면 꾸준히 하루에 한 문제씩이라도 풀면서 감각을 계속 가지고 가야겠다. 프로젝트 주제를 선정해야되는데 난이도에 따라 각 파트별로 요구하는 기술도 다르고 조금 설명이 부족한 부분들도 있어서 많이 아쉬움이 남았다. 그래서 현재 프론트 담당이신 멘토님과 스프링을 담당하시는 멘토님께 각각 여쭤보면서 주신 의견을 생각해보았다. 신입이면 다양한 기술이 많이 작성된 이력서보다는 기본에 충실한게 좋다. MSA 같은 기술을 신입이 했다고 적으면 그냥 가볍게 겪어만 ..
오늘 목표 TIL 작성 필수 과제 풀기 학습한 것 오늘은 크게 학습한 것 없이 문제를 풀고 프로젝트를 대비해서 스프링이나 자바 관련된 자료를 확인하며 복습했다. 다만 프로젝트의 난이도가 너무 높아 걱정이 되지만 차례대로 주어진 필수적인 과제 위주로 해결하면서 처리해야겠다. 오늘 풀었던 문제 중에 인상 깊었던 문제는 다음과 같다. 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net from sys import stdin input = stdin.readline s = inpu..
오늘 목표 TIL 작성 필수 문제 2개 + 멘토님 추천 4개 문제 풀기. 학습한 것 DP에 대해서 학습했다. DP와 관련된 글은 아래 작성했다. [알고리즘] 동적 계획법(Dynamic Programming) 1. DP란? 동적 계획법은 간단히 말하면 전체 문제 혹은 큰 문제를 한 번에 해결하는 것이 아니라 작은 부분 문제들로 나눠서 해결하고 이것들을 활용해 전체 문제를 해결하는 방법이다. 말만 들어 digitalagora.tistory.com 반성 DP 문제의 접근 방식에 대해서는 이해했지만, 구체적으로 문제에서 원하는 방식 대로 점화식을 찾는 방법, 특정 문제가 DP 유형임을 가리키고 있는지 판별하는 것. 2가지에 대해서는 아직 적응하기가 너무 어려웠다. 항해99 취업 리부트 코스를 수강하고 작성한 콘..
1. DP란? 동적 계획법은 간단히 말하면 전체 문제 혹은 큰 문제를 한 번에 해결하는 것이 아니라 작은 부분 문제들로 나눠서 해결하고 이것들을 활용해 전체 문제를 해결하는 방법이다. 말만 들어보면 다른 알고리즘인 분할정복과 유사하게 보인다. 다만 DP를 효율적으로 사용하기 위해서는 2가지 조건을 만족해야한다. 큰 문제를 작은 문제로 나누었을 때 동일한 작은 문제가 반복해서 등장해야 한다.(중복 부분 문제) 큰 문제의 해결책은 작은 문제의 해결책의 합으로 구성할 수 있어야 한다.(최적 부분 구조) 분할정복과 DP 모두 부분 문제로 나눠서 해결한 뒤 원래 문제의 해답을 얻지만, 분할정복은 반복되는 작은 문제가 없다. 반면에 위에서 살펴본 것처럼 DP는 반복되는 작은 문제가 있을 때 사용하는 알고리즘이다. ..
오늘 목표 TIL 작성 필수 문제 풀기 학습한 것 오늘은 다익스트라 알고리즘에 대해서 학습했다. 다익스트라 알고리즘은 특정 노드에서 다른 노드까지의 최단 경로를 찾는 그래프 탐색 알고리즘이다. 가중치가 있는 그래프에서 대표적으로 사용하며 다익스트라의 개념에 대해서 이해하기 위해서는 아래 3가지 개념 정도는 미리 알고 있는게 좋다. 그래프와 그래프 탐색에 대한 이해(DFS, BFS) 그리디 알고리즘 : 방문하지 않은 노드 중 가장 비용이 적은 노드 선택. DP : 해당 노드로부터 갈 수 있는 노드들의 비용을 지속적으로 갱신. 또한 다익스트라 알고리즘은 최단 경로를 찾는 방식에서는 효율적이고 좋은 알고리즘이지만, 만약 가중치가 음수인 경우에는 정상적으로 동작하지 않는다. 전체적인 동작 과정은 다음과 같다. ..
1. 탐욕(Greedy) 이란? 그리디 알고리즘은 문제 해결 과정에서 결정하는 순간마다 눈 앞에 보이는 최선의 선택을 하는 알고리즘을 뜻한다. 즉 해결 과정 전체, 혹은 미래의 상황을 고려하지 않고 당장의 순간에 최선의 선택을 고려하는 알고리즘이다. 다른 알고리즘에 비해 구현하기가 쉬움 실행 속도가 빠름 특정한 상황에서만 적용 가능. 그리디는 위에서 설명했듯이 모든 순간에 적용 가능한 알고리즘은 아니다. 그리디 알고리즘을 사용할 수 있는 특정한 상황은 다음과 같다. 최적 부분 구조 : 순간마다의 부분 최적해들의 합이 곧 전체 문제의 해답과 동일할 때만 사용 가능. 그리디 선택 속성 : 이전의 선택이 이후의 선택에 영향을 끼치지 않음. 2. 대표 예시 그리디의 대표적인 예시는 거스름돈 문제다. 다음 설명을..
오늘 목표 TIL 작성 멘토님 추천 문제 2개 풀기 학습한 것 오늘은 멘토님이 추천해주신 문제를 풀면서 구현하는 문제의 감을 잡았다. [프로그래머스][Python] 크레인 인형뽑기 게임 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co. digitalagora.tistory.com [백준][Python] 17144 - 미세먼지 안녕 문제 링크 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, digitalagora.tist..