분류 전체보기
-
Python - 1520 - 내리막길Problem Solving 2021. 1. 4. 23:26
기존에 활동하던 블로그에서 옮겨온 포스팅 입니다. 내리막 길 click 2020.10.13 오늘 내내 이 문제를 잡고 씨름했다.⚡ 먼저 두 시간 동안은 접근을 잘못해 고생했다. 어설프게 dp 점화식을 찾았다. 입력 받은 리스트의 첫 줄 부터 차근차근 값을 쌓아나가는 방식이었다. 만약에 직사각형의 아래 칸으로만 이동할 수 있고, 윗 행으로는 이동하지 못한다면 맞는 풀이었지만, 문제에서는 그런 조건이 없었기에 당연히 틀렸다. 반례 4 4 16 9 8 1 15 10 7 2 14 11 6 3 13 12 5 4 이 반례처럼 'ㄹ'자로 내려갔다 올라갔다를 반복할 수도 있는 것이다. 결국 검색을 통해 풀이 방법을 찾아보았다... DFS를 통해 길을 탐색하고, 여기에 DP를 이용해 시간을 단축시켜 푸는 문제였다. 예제..
-
./Missing Semester - 수업 개요 + shell컴퓨터 구조 2021. 1. 4. 00:43
./Missing Semester 2021 - 01 - 04 를 시작으로 매일 강의 한 개씩 수강해 나갈 예정이다. 1년 전 ROS, Autoware를 설치하고 사용해보며 처음 Linux, Shell을 접했는데, 이번 기회를 통해 기초를 탄탄히 해볼 계획이다. 꾸준히 수강하자! 연습문제 /tmp에 missing이라는 새로운 경로를 만들어 보세요 . touch라는 프로그램을 관찰해보세요. man 프로그램이 도움이 될겁니다. Description: Update the access and modification times of each FILE to the current time. A FILE argument that does not exist is created empty, unless -c or -h is..
-
Python-2098-외판원 순회Problem Solving 2021. 1. 3. 01:50
외판원 순회 click 2주일 전에 외판원 순회2를 풀고(외판원 순회2가 더 쉬운 난이도의 문제이다.) 도전해 봤는데, 실패했었다. 이번에는 DP와 비트마스킹을 사용해 풀어야한다는 사실을 인지하고, 풀었고, 칠판에 적으면서 2시간 가량 푼 끝에 정답을 맞출 수 있었다. 비트연산자를 사용해서 사고하기가 아직은 수월하지 않다는 생각이 들었다. 관련 문제들을 수요일까지 4문제 정도 더 풀어볼 예정이다. 문제 분석 비트마스크를 사용해 푸는 문제이다. 비트연산자를 다루는데 아직 익숙하지 않다면, 11723-집합 문제를 먼저 풀어보는 것을 추천한다. 1부터 N까지 번호가 매겨져 있는 도시들을 모두 거쳐 다시 원래의 도시로 돌아오는 최소 비용을 구하는 문제이다. 도시간에 이동하는데 드는 비용은 대칭적이지 않으며, 0..
-
Django - .gitignore활용 (feat. migrations)Project/git 2021. 1. 2. 01:48
django 웹 개발을 진행 중일 때, 어떤 파일들을 .gitignore에 포함시켜야 할까? Jump to django 문서를 참고해 아래의 파일들을 .gitignore를 사용해 commit목록에서 제외시켜 왔다. .idea db.sqlite3 __pycache__ *.pyc venv .idea 사용자 설정을 저장하는 파이참 전용 파일 db.sqlite3 SQLite의 데이터베이스 파일(다른 모델을 쓴다면, 그에 맞게 변경해 주어야 한다.) __pycache__, *.pyc python 프로그램을 실행시킬 때, 인터프리터는 프로그램을 bytecode로 먼저 컴파일한다. 이 파일들(*.pyc)을 __pycache__폴더에 저장해 놓고, 프로그램이 재실행될 때, 조금 더 빠르게 실행될 수 있도록 한다. .g..
-
How to start DjangoProject/Django 2021. 1. 1. 20:02
Pycharm에서는 django project를 생성하면 간단하게 프로젝트를 시작할 수 있다. VScode에서는 어떻게 시작해야 할까? 가상환경 설치 먼저 가상환경을 설치하자. 1. VScode를 관리자 권한으로 실행한다. 2. 빈 작업폴더를 생성하고 해당 파일을 open 3. VScode터미널을 실행하고, 아래의 명령어를 입력한다. cmd> python -m venv '가상환경 이름' 4. VScode에서 F1을 누르고, python: Select Interpreter를 검색 후 클릭한다. Python ~~~ ('venv')를 선택하자. VS code 터미널 창을 열고, 새로운 터미널을 '+'버튼을 눌러 추가하면, 자동으로 가상환경으로 진입된다. Django 패키지 설치 & 프로젝트 실행 가상환경 내에..
-
JUNGLE_3주차SW사관학교 Jungle 2021. 1. 1. 13:44
컴퓨팅 사고로의 전환 3주 차 주차별 키워드 - 그래프 탐색 기본, BFS, DFS, DFS(위상정렬) 더 고민해볼 키워드 - 벨만 포드 알고리즘 - SPFA SW사관학교 정글 WEEK03 시험 - 단지 번호 붙이기 click - 숨바꼭질 click - 트리의 지름 click 트리의 지름 이번 주의 3번 문제였던 트리의 지름에 대해서 알아보자. Tree(사이클이 없는 무방향 그래프)의 지름을 구하는 문제이다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이때 양끝을 이루는 두 노드 사이의 거리를 트리의 지름이라고 한다. 트리의 지름을 어떻게 구할 수 있을까? 아래의 방법으로 트리의 지름을 찾을 수 있다. 트리 내의 임의의 점 A로부터 가장 먼 점 B를..
-
12월 말 되돌아보기 2020년Life 2020. 12. 31. 21:05
10월 되돌아보기 11월 되돌아보기 12월 중순 되돌아보기 12월 말 되돌아보기 아주 길게 느껴졌던 2020년의 마지막 날이다. 코딩을 본격적으로 시작한 지는 4개월, Jungle에 합류한 지는 4주 정도가 지났다. 최근 2주간의 활동 1일 1포스팅 2주 내로 서비스 한 개 만들기 이전 포스팅에서 위의 계획을 세웠는데 모두 실천할 수 있었다. 1일 1포스팅을 매일 꾸준히 해왔고, 며칠 전에는 온도체크 서비스를 출시했다! 온도 출석체크 서비스 강의실에 들어올 때, 온도를 재고 이를 google form에 제출해야 했다. 그런데, google form이 핸드폰으로 제출하기 너무 귀찮게 되어 있었다. 날짜 칸을 터치하고, 숫자 칸을 터치한 다음에 숫자를 입력하고... 이를 6번 정도 반복해야 제출할 수 있었다..
-
Python-12865-평범한 배낭(시간 복잡도 개선)Problem Solving 2020. 12. 31. 00:34
평범한 배낭 _ 시간복잡도 개선 click 포스팅 했던 평범한 배낭 문제를 시간 복잡도가 낮은 방법으로 다시 풀어 보았다. 3960ms는 기존 코드, 1508ms는 이번에 다시 푼 코드이다. 먼저 기존에 포스팅 했던 방식의 코드는 어떻게 작동하는지 되짚어 보자. dp 배열에 무게 별로 담을 수 있는 최대 가치를 저장한다. 초기 dp 값은 모두 0이다. w의 무게와 v의 가치를 가지는 물건이 있을 때, 0 부터 k(버틸 수 있는 무게)-w 까지의 i에 대해서 dp[w+i] = max(dp[i] + v, dp[w+i])를 통해 업데이트 해 나간다. 모든 물건에 대해 위와 같은 과정을 거치고, dp값들 중 최대값을 구하면 된다. 문제의 예제 입력에 대해서 배낭에 넣을 수 있는 물건들의 가치의 최대값을 구하는 ..