일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 장고
- 최소스패닝트리
- MyPlaylist
- 파이썬
- DP
- 동적계획법
- BFS
- 종합설계
- 그리디알고리즘
- 코드트리
- django
- 데이터베이스
- 백준
- B대면노래방
- Bellman-Ford
- SQL
- programmers
- codetree
- DFS
- 알고리즘
- 마라마라빔
- Planned
- 실습
- minimum spanning tree
- 프로그래머스
- 모각코
- Kruskal
- 소프트웨어공학
- 백트래킹
- 함밥
- Today
- Total
목록전체 글 (242)
Leta Learns

문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 이 문제를 어렵게 풀게 된 이유는 크게 두 가지가 있다. 첫 번째는 visited 배열을 알파벳 개수에 맞춰 만들지 않고 입력받은 알파벳 리스트의 해당 인덱스를 1로 바꾸어주는 방법을 선택했다는 점이다. 그리고 같은 알파벳을 두 번 이상 지나갈 수 없으므로 check 리스트에 해당 알파벳을 append 하여 중복을 확인하는 방식이었다. ex) CAAB 이 경우, C를 지나갔다고 하면 ..

문제 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net ㅋㅋㅋㅋ... 며칠 쉬었더니 머리가 안 돌아간다... permutations 라이브러리 쓰지 말고 그냥 노가다로 직접 해봐야 하는데 그것도 감이 안 잡혀서 일단 라이브러리를 사용했다... 안 쓰고도 한번 풀어봐야겠지.... 정말.... 난 넘 멍청하다..... from itertools import permutations import sys input = sys.stdin.readline n = int(i..

문제 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 처음에는 문자를 하나하나 비교해서 풀어야 하나 라는 생각을 했다. 귀찮기도 하고 감도 잘 안 잡혀서 생각 좀 하다가 java 풀이를 검색했다. combination을 사용한 풀이가 있길래 나도 combination 함수를 사용하였다. combination 함수 사용하기 전에 입력받은 알파벳들 정렬하는 과정을 빼먹어서 시간이 좀 걸렸다. 문자열 합칠 때 join 함수 사용하는 것도 잊지말자. imp..

문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브론즈 문제인데 처음에 접근법 생각하는 게 시간이 좀 걸렸다. 9명 중에 2명을 뺐을 때 나머지 7명 키의 합이 100이 되는 경우 그 2명을 빼주었다. import sys input = sys.stdin.readline height = [int(input()) for _ in range(9)] total = sum(height) for i in range(9): for j in range(i+1, ..

문제 https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net bfs 풀 때 visited 배열 안 쓰고 푸는 게 편하길래 이 문제도 그렇게 접근했는데 잘 안 풀려서 결국 visited 배열을 사용하였다. 모든 L에 대해서 bfs 탐색을 시도해야 해서 시간초과 날까봐 코드 짤 때부터 걱정했는데 역시나였다. pypy3로 제출해서 성공하였다. import sys from collections import deque input = sys.stdin.readlin..

문제 https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 단순 bfs 였다. 이제 그래프는 잠시 쉬어도 될 것 같은 느낌.. import sys from collections import deque input = sys.stdin.readline def bfs(cur_y, cur_x): chess[cur_y][cur_x] = 1 q = deque() q.append((cur_y, cur_x)) while q: y, x = q.popleft() if ..

문제 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 항상 dxdy 기법에 익숙한 bfs를 dxdy 없이 그냥 큐로 구현하는 것 빼고는 어렵지 않은 문제였다. 방문할 수 있는 정점이 여러 개인 경우 정점 번호가 작은 것을 먼저 방문해야 해서 인접리스트를 sort 해주어야 했는데, 왠지 당연히 입력할 때부터 제대로 정렬해서 줄 것 같다는 근거 없는 생각에 sort를 안 해서 틀렸다. 입력받으면서 각각의 인접리..

2022 목표 중 하나: 노션과 친해지기. 노션을 알게 된 지 1년 반이 넘어가는데.. 어려워서 항상 그냥 대충 만들고 포기했었다. 올해는 노션을 좀 제대로 써보고 싶어서 몇 년 간 사용하던 캘린더 어플(TimeBlocks)에서 노션으로 갈아타보려 한다. 그냥 간단히 만들 거라서 어렵지 않을 거라고 생각했는데 애를 먹는 부분이 생겨서 팔자에도 없던 노션 티스토리를 쓰게 되었다. 자 만들어보자. 우선, 캘린더 데이터베이스를 가져온다. 휴대폰 어플로 할 때는 오른쪽 사진처럼 Calendar를 inline과 full page를 고를 수 있었는데 왜 노트북에서는 안 보일까. 모르겠다. 찾았다. 빈 페이지 선택하고 / 버튼 누르면 형식을 고를 수 있는데 밑으로 내려가면 inline과 full page 중 선택할 ..

팀플 후기를 팀플 끝난지 한 달도 지나서 쓰는 사람이 있다? ^^ 암튼 잠깐 시간이 나므로 기억을 되살려서 후기를 써보려고 한다. 개요 마라탕 가게 정보, 리뷰, 댓글을 등록 및 조회할 수 있는 마라탕 가게 정보 공유 서비스 팀원 4명 온라인과 오프라인 병행 (주로 온라인) 기간 2021.11 ~ 2021.12 (보고서 작성, 개발 등 모든 과정에 소요된 기간) 개발 환경 사용 언어: HTML, CSS, Python 사용 소프트웨어: Django, Sqlite3, Docker 주요 기능 회원가입 및 로그인 가게 정보 조회, 등록, 삭제 가게 리뷰 조회, 등록, 삭제 리뷰 댓글 조회, 등록, 삭제 즐겨찾기 조회, 추가, 삭제 결과물 후기 종강 한 달 전, 갑작스럽게 팀플을 선포하신 교수님.. 한 달 안에 ..

문제 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 골드라서 좀 겁먹었었는데 무난한 그래프 문제였다. 그리드에 색 입력 받을 때 'R', 'R', 'R', 'B', 'B' 이런 식으로 되어야 하는데 자꾸 'RRRBB' 이렇게 받아져서 그 부분 조금 헤맸다. 색약이 아닌 경우를 먼저 구하고, 'R'을 'G'로 바꾼 후 색약인 경우를 구한다. ('G' -> 'R'도 가능) 이때 visited 초기화 해주어야 하는 것 잊지 말기. impor..