- 문제 링크 https://www.acmicpc.net/problem/6986 - 풀이 실버 3 난이도의 구현, 정렬 태그가 달려있는 문제였다. 정답률이 25% 밖에 안되서 이 문제가 어렵나 ? 하고 풀어보았다. 직접 풀어보니 절사 평균과 보정 평균을 구할 때 코드상에는 크게 문제가 없었는데 틀려서.. 어 뭐가 문제지 하고 조금 찾아보니 부동소수점에 대한 문제였다. type을 float로 받으면 생기는 문제인데, 해당 문제를 해결하기 위해서는 코드의 맨 밑에 줄을 보면 + 0,00...1 을 더해줌으로서 해결할 수 있다. 절사 평균을 구하기 위해 res 배열에 arr의 K번째 부터 len(arr)-K 곧 전체 배열의 길이-K 의 범위만큼 arr의 값을 append 해줌으로 절사 평균을 구했다. 보정 평..
- 문제 링크 https://www.acmicpc.net/problem/1743 - 풀이 가로 M, 세로 N 길이의 그래프를 만들어주고, 그래프에 음식물 쓰레기의 좌표를 넣어준다. 주의해야 할 점은, 문제에서는 배열의 시작이 (1,1)이라 자칫하면 배열의 범위를 벗어난다. 그래서 각각의 (r,c) 값을 -1씩 빼준 좌표에 음식물 쓰레기 위치 표시를 해준다. 그 뒤에 bfs를 돌리면 된다. bfs는 방문하지 않았으면서 음식물 쓰레기가 있는 위치를 잡고 돌면 된다. 결과값을 담을 res 변수를 하나 선언해주고, bfs를 돌 때 마다 더 많은 음식물 쓰레기를 탐색한 값으로 갱신해준다. - 코드 import sys from collections import deque input = sys.stdin.readli..
- 문제 링크 https://www.acmicpc.net/problem/10026 - 풀이 설명을 보면, 적록색약인 경우에는 빨강-초록을 하나로 본다. 그래서 적록색약이 아닌 경우를 첫번째로 탐색하며 현재 좌표의 색상과 상하좌우 좌표에 있는 색상이 같으면 bfs로 넣어준다. 최초 bfs 탐색이 끝나면 전체 graph를 돌면서 색이 G인 것을 R로 변경해주면 된다. 그 뒤에 visited 배열을 새로 만들고 두번째로 적록색약인 경우를 탐색하면 된다. - 코드 import sys from collections import deque input = sys.stdin.readline dx = [0,0,-1,1] dy = [-1,1,0,0] one, two = 0, 0 def bfs(x, y): visited[x..
- 문제 링크 https://www.acmicpc.net/problem/2108 - 풀이 실버 3 난이도의 수학, 구현, 정렬 태그가 달려있는 문제였다. 정답률이 25% 밖에 안되서 이 문제가 어렵나 ? 하고 풀어보았다. 파이썬 기준으로 얘기해보면 아마 저 3번의 최빈값을 구하는 거 때문에 사람들이 많이 틀리지 않았나 싶은 생각이 든다. 파이썬에서 제공하는 Counter라는 기능을 사용하면 쉽게 해결할 수 있는 문제지만, 자주 사용하지 않으면 Counter의 존재 자체를 계속 까먹으니 자주 써버릇 하는 것이 중요하겠다. - 코드 from collections import Counter N = int(input()) arr = [] for _ in range(N): arr.append(int(input()..
- 문제 링크 https://www.acmicpc.net/problem/2589 - 풀이 bfs로 풀었다. 문제를 보면 알겠지만 범위 내에서 모든 육지를 다 체크해야 하는 완전 탐색 문제이다. 코드를 보면 알겠지만 그냥 bfs에서 사알짝 응용 버전이다. 별로 어렵지 않았다. 근데 정답률이 37% 밖에 되지 않아서 조금 이상하긴 했다. - 코드 import sys from collections import deque input = sys.stdin.readline dx = [0,0,-1,1] dy = [-1,1,0,0] def bfs(x, y): visited = [[0] * M for _ in range(N)] queue = deque() queue.append((x, y, 0)) visited[x][y..
- 문제 링크 https://www.acmicpc.net/problem/11724 - 풀이 dfs로 풀었다. 방향이 없는 그래프라고 해서 단방향 그래프로 구현했다가 한 번 틀리고 아 ! 내가 바보같은 생각을 했구나를 깨닫고 양방향 그래프로 다시 바꿔서 구현했다. 노드 번호를 1번씩 차례대로 for문을 돌면서 연결된 요소가 몇개 있나를 찾으면 된다. 어렵지 않은 실버 2 문제였다. - 코드 import sys input = sys.stdin.readline sys.setrecursionlimit(10**8) def dfs(start): visited[start] = 1 for edge in graph[start]: if visited[edge] == 0: dfs(edge) N, M = map(int, in..
- 문제 링크 https://www.acmicpc.net/problem/1012 - 풀이 그래프를 가로 x 세로 만큼 먼저 선언해놓고, K만큼 배추의 위치를 입력받을 때 graph 배열에 배추의 위치를 1로 표시한다. 그리고 배추가 있는 곳에서 bfs를 돌려주면 된다. 밑에 코드를 보면 알겠지만 배추의 위치를 입력받을 때 a, b 위치만 바꿔주는 것만 고려하면 특별히 예외처리 해줄만한 것도 없어서 푸는데 한.. 7분 걸렸던 것 같다. bfs를 한 번 실행할 때 마다 배추흰지렁이가 1마리씩 필요하다고 생각하면 편하다. - 코드 import sys from collections import deque input = sys.stdin.readline dx = [0,0,-1,1] dy = [-1,1,0,0] d..
- 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/169199 - 풀이 나는 사실 프로그래머스를 거의 안 푼다. 입출력 자체가 백준이 나에게 좀 더 편하기도 하고.. 백준에 너무 익숙해져버린 나머지 프로그래머스는 손을 잘 안댈 때가 많았는데 백준 풀다가 현타가 조금 와서 프로그래머스 문제를 한 번 풀어봤다. 이 문제가 레벨 2 문제였는데, 백준에서 이 문제와 비슷한 아이디어를 쓰는 구슬탈출 문제가 골1인걸 보면 체감상 이 문제도 한 레벨 3 정도는 되야 하지 않을까 ? 싶은 생각이 들기도 했다(근데 구슬탈출 문제가 더 어렵긴 하다). 풀이를 보자면, bfs 문제인데 그냥 탐색이 아니라 벽이나 장애물에 걸렸을 때 횟수를 카운트 해서 구현하..
- 문제 링크 https://www.acmicpc.net/problem/21610 - 풀이 백문 문제집에 있는 SW 역량 테스트 기출문제 중 하나이고, 악명(?) 높은 상어 문제 중 비교적 쉬운 편에 속하는 구현 + 시뮬레이션 문제였다. divide and conquer 방법으로 구현했다. 문제 하나를 더 작은 단위의 문제로 쪼개서 구현하는.. 그런 방법이다. 구름을 이동시키는 함수, 물복사버그 함수, 다시 구름을 만드는 함수 총 3개의 함수를 만들어서 사용했다. 함수 하나씩 차근차근히 살펴보자. 1. 구름 이동 함수 def move(x, y): queue = [] while cloud: a, b = cloud.popleft() for i in range(y): a = a + dx[x] b = b + d..
- 문제 링크 https://www.acmicpc.net/problem/14938 - 풀이 보통 기본적인 다익스트라 문제는 간선의 비용을 출력하거나 했는데 이 문제는 간선의 비용이 아니라 정점(노드)의 최댓값을 구하는 문제였다. 지문에 보면 양방향 통행이 가능하다고 하니 양방향 그래프로 구현해주면 된다. 1. 거리 배열인 distance 배열을 return 하는 다익스트라를 구현한다. 경로 탐색 중 간선의 비용이 M보다 크다면 생략한다. 2. 1번 노드부터 N번 노드까지 반복을 하며 distance 배열에 INF 값이 아닌 값들의 위치에 있는 아이템의 합을 배열에 넣어준다. 3. 배열 중에서 제일 큰 값을 출력한다. - 코드 import sys import heapq input = sys.stdin.re..
- Total
- Today
- Yesterday
- 1270
- opgg #클론코딩 #할수있다
- 보정평균
- boj 10026 python
- 레벨 2
- 데이크스트라
- 14938
- 마법사 상어
- WOFF2
- 리코쳇 로봇
- 알고리즘
- BOJ
- BFS
- 목데이터
- 리액트 최근검색
- 백준
- 도넛 행성
- 최근검색 기능
- 파이썬
- 리액트
- boj 2589
- Python
- 서강그라운드
- 구현
- 폰트 최적화
- 리액트 츨겨찾기
- 6986
- 백준 10026
- 실버3
- 21610
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |