일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 백준
- 마라마라빔
- 백트래킹
- SQL
- MyPlaylist
- 동적계획법
- DP
- codetree
- 코드트리
- minimum spanning tree
- 그리디알고리즘
- programmers
- 데이터베이스
- django
- Bellman-Ford
- 소프트웨어공학
- BFS
- 최소스패닝트리
- 함밥
- 파이썬
- 실습
- 장고
- 종합설계
- 모각코
- DFS
- Kruskal
- Planned
- 알고리즘
- B대면노래방
- Today
- Total
목록백준 (85)
Leta Learns
이거 지난 주 토요일 모각코 때 시도했던 문제인데 다른 거 하느라 계속 미뤄서 드디어 오늘 다시 시도했다. 모각코 당일인 17일에는 아예 알고리즘을 잘못 생각하고 있었고, 다음날인 18일에 다시 풀어서 모각코 글을 작성했다. 18일에 푼 코드는 예제만 맞고 제출 돌리면 틀렸었다. 2021.07.17 - [HUFS/HUFS 모각코 캠프] - [모각코] 210717 Today I Learned #기존(에 틀린) 코드 import sys def dfs(v): visited[v] = 1 for i in range(len(adjList[v])): w = adjList[v][i][0] if not visited[w]: dist[w] = max(max(dist), adjList[v][i][1] + dist[v]) d..
문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 모각코에서도 얘기했듯이 이번 문제는 m, n을 구별하는 게 어려웠다.. 선형대수학 공부해야되나봐... row, col 왜 이리 헷갈리지.. 어제 스터디 할 때 관련 얘기 해서 row랑 col에 대해서 10분 동안 토의했는데 꼭 잘 기억해야지.. 이 문제는 모각코 Today I Learned에서 이미 리뷰를 했기 때문에 조금만 더 덧대려고 한다. 2021.07.22 - [HUF..
https://www.acmicpc.net/problem/7576 요새 dfs, bfs를 공부 중이었는데 익숙치 않아서 한 문제 푸는데 2-3일 걸리고 그랬다. 이 문제도 일요일에 처음 풀었는데 못 풀어서 모각코 때 다시 풀어야지. 하고 다른 공부했다. bfs는 그냥도 어려운데 이번 문제는 다른 문제들과 달리 n, m 으로 입력받는 게 아니라 m, n으로 입력 받아서 헷갈렸다. 그거 뭐 얼마나 바뀌었다고 헷갈리냐고 하면.. 할 말이 없다. 저는 코딩 바보예요. 종이에 계속 쓰면서 n이 row고, m이 col이다 라는 걸 계속 상기시켜주었다. 1. 기본 틀은 다른 bfs 문제들이랑 거의 비슷했는데 이 문제에서 좀 특별한? 점은 q.popleft()하기 전에 range(len(q))로 for문을 돌려준 것이..
문제 https://www.acmicpc.net/problem/17220 17220번: 마약수사대 최근들어 세계적으로 마약과 관련한 사회적 문제들이 많이 발생하고 있다. 이에 따라 경찰은 마약 수사대의 한정된 인력이 허용하는 선에서 최대한 마약공급을 막고자 한다. 마약 공급책들은 www.acmicpc.net dfs 골드3은 무리였나.. ㅋㅋㅋ 인접리스트 입력을 문자열로 받는 것부터가 어려워서 헤맸다. 아스키 코드 써서 간신히 해결. 2021.07.20 - [Python] - 아스키코드 변환 함수 ord(), chr() 유향그래프 문제도 거의 처음 푸는 것 같다. check에 맨 마지막 줄에서 입력 받은 2 b c 를 리스트로 넣고 인덱싱 사용해서 문제를 풀었다. check는 경찰이 소재를 파악하고 있기 ..
문제 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 1697번 숨바꼭질 문제랑 알고리즘이 거의 같았다. 2021.07.12 - [Coding/백준] - [Python] 백준 1697번 - 숨바꼭질 비슷한 구조의 bfs문제를 한 번 더 풀 수 있어서 bfs 이해하는데 더 도움이 됐다. count를 처음에는 그냥 변수로 만들어서 갱신해줬는데 그렇게 하다보니 갈라지는 부분이라고 해야하나... 쨌든 그런 곳에서 count가 여러 개로 나뉘어져야 하는데 변수 하나..
문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 미로 탐색 학교 수업 때 과제로 풀었었는데 그래서.. 그냥 그때 푼 코드 거의 참고했다.. bfs 너무 어렵다.. 풀어놓은 코드 조금만 수정해서 풀면 되는데 인덱스 잘못 생각해서 자꾸 틀렸었다. 왜 틀린지 몰랐을 땐 풀기 싫어져서 잠시 내팽겨치고 있었다. bfs함수 if v_row == n-1 and v_col == m-1: 이 부분에서 n-1, m-1이 아니라 n, m으로 해놨어서 입력한 값 다 돌았는데 또 돌게된 것이었..
문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net bfs......... 나 bfs 진짜 싫어....... 과제할 때 결국 못 풀고 그냥 제출한 경험이 있음.... 번아웃까지 야기했던 그 문제.... bfs....... 사실 이 문제 접근하면서 bfs를 코드로 짜는 방법을 드디어 이해한 것 같다. 큐에 넣고 빼고 하면서 이걸 어떻게 한다는 건지 학기 중에는 이해하지 못했다. 그래서 실버1이어도 긴장하면서 풀었는데...
문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 학기 중 알고리즘 수업 들을 때 그래프 과제에서 절망했던 경험이 있다.. ㅎ 그래프는 조금하면 익숙해진다고 하는데 난 아직 아니라서 천천히 많이 풀어보려고 한다. 이번 문제는 어렵진 않았는데 count 세는 부분을 dfs 함수 내부에 넣지 않는 게 중요한 것 같다. dfs 함수 내부에 넣었더니 지 멋대로 먼저 print돼서 애 좀 먹었다 :( import sys def dfs(v): visited..
문제 https://www.acmicpc.net/problem/2616 2616번: 소형기관차 첫째 줄에 기관차가 끌고 가던 객차의 수가 입력된다. 그 수는 50,000 이하이다. 둘째 줄에는 기관차가 끌고 가던 객차에 타고 있는 손님의 수가 1번 객차부터 차례로 입력된다. 한 객차에 타고 있 www.acmicpc.net 문제 알고리즘 분류에 '누적합'이라고 나와있는데 누적합으로 안 푼 바보가 여기 있다.. 최대로 끌 수 있는 객차 수를 하나하나 계산해서 단순합으로 넣으려고 하니까 코드도 복잡해지고 안 풀린 거였다. 2021.07.10 - [HUFS/HUFS 모각코 캠프] - [모각코] 210710 Today I Learned (단순합으로 시도한 코드) 단순합으로 하면 예제는 풀리긴 하는데 최대로 끌 수..
짜증나서 돌아버릴 것 같다. DP는 익숙하지 않아서 어렵다.. 테이블에 들어갈 요소 생각하고 점화식만 잘 세우면 되는데 그 두 개가 왜 이리 어려울까.. 다 풀고 나서 제출 돌려보니 런타임 에러가 났는데 최대로 끌 수 있는 객차의 수가 달라질 때를 고려하지 않아서 그런 것 같다. 단순합(dp[0]) 부분을 수정해줘야 하는데 어떤 방식으로 해야할 지 생각이 나지 않는다. #런타임 에러 코드 import sys n = int(sys.stdin.readline()) #기관차가 끌고 가던 객차의 수 people = [0] + list(map(int, sys.stdin.readline().split())) m = int(sys.stdin.readline()) #소형기관차가 최대로 끌 수 있는 객차의 수 dp = ..