목록전체 글 (112)
컬쥐네 다락방
이제 알고리즘 공부 2주차도 끝이다.. 생각보다 공부한 시간에 비해 내가 배운건 별로 없는 느낌이라 속상하다 .. 이번주에 공부한 개념들에서 기억에 남는 개념은 분할 정복과 백트래킹 그리고 최단 경로다 . 분할 정복 분할 정복은 답을 구하는 과정에서 쪼개고 쪼개서 작은 픽셀에서 계산이 되도록 하는 문제였다 . DSF와 BFS를 공부할 때 풀었던 토마토 문제와 비슷한 느낌으로 시작점을 기준으로 쭉 검사를 진행하지만 조건이 더 추가되고 구간을 나눠서 문제를 푼다는 점이 달랐다. www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸..
- 동적 계획법 - 그리디 알고리즘 - 정수론 및 조합론 - 스택 동적 계획법 (Dynamic Programming) 최근에는 동적 계획법 (Dynamic Programming)에 빠져있었다. 전체 문제를 작은 문제로 나눠서 단순화 시키는 동적 계획법에서 여러번 수행될 수 있는 작은 문제들의 값을 메모이제이션을 통해 불러오면서 전체적인 시간 복잡도를 낮추고 효율적으로 만들어준다. 이때 메모이제이션 (Memoization)이라는 개념은 함수가 작동하면서 구해진 값들을 저장소에 넣어놓고 같은 함수를 작동시키면 그 값을 불러와 대체해주는 역할을 해주는 개념. 지난주에 예제를 풀며 익힌 개념을 이번주에 더 많은 문제를 풀어보면서 응용해봤다. www.acmicpc.net/problem/1149 1149번: RGB..
이번주는 일주일 내내 알고리즘 구현에 관한 이론 학습과 응용의 연속! 그래서 이번주 회고록은 날짜별로 나열하기보다 배웠던 개념으로 작성하겠습니다 .🎈 재귀 함수 재귀 함수의 특징은 하나의 함수 안에서 똑같은 함수를 다시 호출한다는 점이다. 하노이의 탑 문제를 예시로 풀면서 개념을 배웠다. 재귀 함수를 이해하면서 숫자가 작아지거나 커지면서, 혹은 값이 계속해서 바뀌면서 내가 원하는 값을 찾아내는 함수를 구현할 수 있게 됐고, 다른 개념들을 함수로 구현할 때 도움이 됐다. 이분탐색 이분 탐색은 새내기 시절 학교 술자리에서 많이 했던 업다운 게임 개념이었다. 가장 큰 값과 작은 값의 중간을 지정해서 내가 원하는 값보다 작은지 큰지를 비교하고, 그 지점을 기준으로 잡고 계속해서 중간 값으로 탐색하는 방식이었다...
2021.03.10 배운 지식 -DFS (깊이 우선 탐색) -BFS (너비 우선 탐색) 어제 저녁부터 계속 붙잡고 있었던 DFS, BFS ! 9일 밤 늦게까지 꼭 한 문제를 완성시키고 자겠다는 마음으로 시도했지만 자기 전까지 완성하지 못했다.. 🤬 그런데 다음날 아침에 처음부터 다시 코딩했더니 한번에 완성됐다!! (왜.. ????!!) DFS 와 BFS는 한 노드를 시작으로 인접한 다른 노드로 재귀적 탐색을 거치는 방법을 말하는데, 대표적인 예시로 알파고가 있다. 알파고는 대국을 진행하면서 발생하는 모든 수를 계산하고 최적의 수를 찾아내기 때문! DFS는 한 방향으로 끝까지 파고들고 끝을 확인한 후에 가지 않은 길로 다시 가는 순서로 탐색을 진행. BFS는 갈라진 모든 경우의 수를 탐색하며 거미줄처럼 퍼..
2021.03.09에 배운 지식 -스택 -큐 스택은 한쪽 끝만 열려있는 자료 구조인데, 빨래바구니처럼 내가 차곡차곡 저장해놓고 마지막에 들어갔던 녀석부터 하나씩 빼서 쓸 수 있는 저장소다. 스택을 이용할 땐 주료 stack.append()를 이용해 스택의 맨 마지막에 push를 해주거나 stack.pop()을 이용해 마지막 녀석을 빼주는 식으로 이용한다. 내가 이해한 스택을 사용해보기 위해 백준 알고리즘 예제중 4949번과 1874번을 풀어봤다. https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거..
2021.03.01 - 항해 본 과정 시작. - 티스토리와 Github 생성, Repo 생성, 와이어 프레임 작성 - A.Jax를 이용한 Get, Post 기능 위주로 사전 공부 과정 복습 - 파일 업로드 구현 방법 공부 드디어 항해 99 본 과정이 시작됐어요. 간단한 OT를 통해 과정이 어떻게 진행되는지, 어떤 지식을 우리가 얻게 될 것인지 등등 추가적인 정보를 얻었어요. 그리고 2월 22일부터 일주일간 공부했던 웹 디자인 기초 지식을 가지고 팀을 이뤄 목요일까지 하나의 서비스를 만들어보는게 목표였습니다 ! 이 팀 프로젝트 때문인지 첫 주는 정말 빠르게 지나갔네요 .. 🥺 다른 포스팅에도 올렸지만 첫 날에는 제 티스토리와 Github 계정을 만들고 우리 팀이 어떤 웹 페이지를 만들지 목표 설정하는 시간..

항해 99가 시작하고 사전 공부 내용을 테스트하기 위해 진행됐던 첫 팀 프로젝트 ! 저희 팀은 오늘의 전시, 오 전 이라는 타이틀을 가지고 전시회 정보 페이지를 제작했습니다. 사실 첫 번째 개발 일지를 보셨다면 아시겠지만, 마우스와 상호작용하는 효과라던지 첫 페이지에서 슬라이드쇼 등을 만들고 싶었고, 찜하기 버튼도 만들 계획이었어요. 하지만 시간이 부족했던게 큰 걸림돌이었고, 특히나 찜하기 버튼 구현에서 자꾸만 에러가 나는 바람에 계획을 변경했습니다 ㅠㅡㅠ... Jinja 템플릿에 대한 이해도가 떨어져서 일까요 ? 일반적인 A.jax 통신을 이용해 POST기능으로 가져와 정보를 보여줬던 때와 다르게 자꾸만 제가 보내는 정보를 인식하지 못해 포기한 기능이 정말 많아 아쉬워요.. 그럼 제가 만든 사이트를 영..
조금 늦었지만 공부하는 내용들과 프로젝트 개발 일지를 꾸준히 작성하여 앞으로 성장하는 모습을 기록하려합니다. 😉스파르타 코딩 클럽의 항해 99 프로그램에 참가해 드디어 첫 팀 프로젝트를 시작합니다 ! 1. 프로젝트 제목 / 간단 설명 첫 번째 프로젝트를 진행하게 됐습니다. 팀원은 저와 백지은님, 최은규님 총 3명입니다. 프로젝트 제목은 오늘의 전시회. 줄여서 오전 입니다. (바뀔 가능성도 있습니다.) 영어로 AM 이라던지, Before noon 이라던지 로고를 만들거나 이야기를 만들어 입혀주기에 좋아보여서 가제로 설정했습니다.🤔 프로젝트의 첫 걸음으로 주제를 정하기 위해 팀원들과 다양한 이야기를 하던 와중에 은규님이 관심있는 것들에 대해 말하던 중 전시회라는 단어를 듣고 이 프로젝트를 계획하게 됐습니다...