본문 바로가기

분류 전체보기

(249)
[프로그래머스] 등굣길 문제 등굣길 (https://programmers.co.kr/learn/courses/30/lessons/42898) 풀이 1. 초기 접근 문제 조건 해석 m x n 격자 map이 등장한다. -> 이차원 배열 사용해야한다. m, n은 1 이상 100 이하인 자연수-> O(n^2) 으로 풀린다. 다만 효율성 테스트가 있으므로, 그 중에서도 가장 퍼포먼스가 좋은 알고리즘을 선택해야한다. 물에 잠긴 지역은 0개 이상 10개 이하입니다. -> 물 웅덩이 인지 아닌지 탐색하는 시간은 O(상수) 효율성 테스트 이러한 문제를 푸는 것은 재귀 나 DP가 있다. 효율적인 것을 고려한다면, 함수 호출이 적고 스택에 메모리 쌓아가는 부담이 없는 DP가 훨씬 좋다. 또한 1000000007로 나눠줘야함을 잊지 말자. 코드 #..
[프로그래머스] 베스트앨범 문제 베스트 앨범 (https://programmers.co.kr/learn/courses/30/lessons/42579?language=python3#) 풀이 1. 초기 접근 문제 조건 해석 속한 노래가 많이 재생된 장르를 먼저 수록합니다 -> 장르별로 먼저 묶어서 정렬해야 한다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. -> 장르 내에서도 정렬해야 한다. 코드 (python) from operator import itemgetter def solution(genres, plays): answer = [] d = {} # make set according to genre. for i in range(0, len(genres)) : if genres[i] not in d : d[genres[i]..
[프로그래머스] 이중우선순위큐 문제이중우선순위큐 (https://programmers.co.kr/learn/courses/30/lessons/42628) 풀이1. 초기 접근문제 조건 해석입력 문자열의 형태 "I 16", "D 1" -> 문자열 파싱해야한다.주어지는 operation 길이 n이 1 이상 1000000 미만 -> 최대 O(n log n) 으로 해결해야함.최소, 최대 값을 뽑아내야 한다. -> 정렬 작업이 필요하다.코드#include #include #include #include ​ using namespace std; ​ vector solution(vector operations) { multiset ms; stringstream ss; int n = operations.size(); for (int i=0 ; i> ..
[프로그래머스] 여행경로 문제 여행경로 (https://programmers.co.kr/learn/courses/30/lessons/43164) 풀이 1. 초기 접근 문제 조건 해석 연속된 경로 출력 -> DFS 문제다. 주어지는 공항 수 n이 3 이상 10000 미만 -> O(n^2) 으로 해결가능하다. 가능한 경로가 2개 이상일 경우, 알파벳 순서가 앞서는 경로가 정답 -> 정렬 작업이 필요하다. 코드 #include #include #include #include using namespace std; void dfs(string from, vector& tickets, vector& visit, vector& answer) { answer.push_back(from); for (int i=0 ; i2 1->3 3->1 위 ..
django를 웹사이트 만들며 알게된 점 이번 프로젝트는 yp* 라는 조직에 웹사이트를 만들어 주는 것이 목표였다. 웹은 이전부터 많이 해와서 금방 끝낼 수 있을 줄 알았고, 후딱 돈벌고 다시 내 할 일로 돌아갈 계획이었다. 허나 일반 사용자를 위해 쓰기 좋은 Text Editor 플러그인를 끌어오거나, 배포용 서버, 도메인 등 최종적인 배포까지 생각보다는 시간이 많이 들었고, 다시금 django 에 대해서 알게된 점도 있었다. 거두절미하고, 차근차근 다시 생각해보며, 알게된 점을 적어보려고 한다. 1. django 의 runserver는 배포용으로 사용될 수 없다. django girls 로 django를 처음 입문했었다. 빠르게 블로그를 만들 수 있었기에 django는 그만큼 강력했고, 초반에 전반적인 파일구조들을 익히느라 조금 헷갈리고 복..
Typora 로 Tistory 포스팅하기 이전 글에서 Typora를 이용하여, md 글을 쓴 뒤, 이를 티스토리에 올리는 방법을 포스팅 했었다. 해보면 알겠지만, 외부 css 를 tstory 에 추가하는 것 뿐 아니라 이런 저런 js파일 추가... Typora로 쓴 내용을 html로 내보낸 후에 복사하기 등 여하튼 절차가 상당히 귀찮았던거는 사실이다. 더군다나 제일 짜증났던 것은, 이전 방식(외부 css, js를 추가하는 등) 으로 하면 Typora 에서 보이는 화면과 안 맞을 때가 있다. 예를 들면, ####이나 ##### 등이 적용이 안되고, code highlightening 도 안되는 경우가 있었다. 이를 또 티스토리 에디터에서 일일이 수정하기란 여간 번거롭다. 이에 대해 어떻게 할까.. 고민하던 중, 보다 쉽게 Typora로 tisto..
django 웹사이트 배포를 하며 겪은 시행착오 Django로 웹 홈페이지를 만들고, 이를 웹에 배포하는 와중에 겪은 시행착오를 적어본다. 글을 쓰기 전에 이미 준비된 상황은 다음과 같았다. 배포할 웹 페이지가 완성돼있음. local과 amazon ec2 에서 각각 django 가 manage.py runserver 로 잘 돌아가는 것을 확인함. python manage.py collectstatic 을 통해 static file을 따로 두었다. aws elastic IP 설정으로, 해당 ec2에 대한 고정 ip를 연결하였다. 도메인 업체 whois에서 사용할 도메인을 구입해두었다. 이후 내가 해야할 상황은 다음과 같았다. ec2 콘솔을 끄더라도, django server는 계속해서 run 중이게 해야함. (기본적으로 ec2 연결을 끊으면, ec2 i..
내 이력 하나씩 정리해보기 1. Data driven map 웹 어플리케이션 개발 기술 스택 : Mapbox GL JS, html5, css3, Flask, PostGIS, Navermap API 기간 : 2017. 12 ~ 2018. 01 주차장 정보 제공 및 공유 어플리케이션을 운영하는 ‘모두의 주차장’이라는 회사에서 방학 한 달 동안 3명이 한 팀이 되어 진행한 프로젝트였습니다. NSDI(국가공간정보포털)와 국토해양부에 오픈된 공공 데이터를 가지고, 서울에 있는 모든 주차장 데이터와 건물 데이터를 연결하여 데이터 간의 지리적 연관성을 분석할 수 있게 3D 데이터맵을 만드는 것이 목표였습니다. 이후, Carto 와 같은 웹 어플리케이션에 영감을 받아, 유저가 직접 다양한 데이터를 올릴 수 있도록 하고 레이어 층을 만들 수 있게..