- 문제 링크 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/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/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/17144 - 풀이 어제 올린 것과 같은 SW 역량 테스트 기출문제 중 하나이고, 구현 + 시뮬레이션 문제였다. 미세먼지를 확산시키는 함수, 위쪽 공기청정기 함수, 아래쪽 공기청정기 함수, 총 3개의 함수를 만들어서 사용했다. 1. 미세먼지를 확산시키는 함수 def chk(): arr = [[0] * C for _ in range(R)] for i in range(R): for j in range(C): x, y = i, j count = 0 if graph[i][j] == 0: continue if graph[i][j] == -1: arr[i][j] = -1 continue for k in range(4): nx = x + dx[k..
- 문제 링크 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..
- Total
- Today
- Yesterday
- 도넛 행성
- 최근검색 기능
- 레벨 2
- BFS
- 1270
- 6986
- 백준 10026
- opgg #클론코딩 #할수있다
- WOFF2
- 마법사 상어
- 21610
- BOJ
- 리액트 츨겨찾기
- 데이크스트라
- 서강그라운드
- 구현
- boj 10026 python
- 리코쳇 로봇
- boj 2589
- 리액트 최근검색
- 리액트
- 알고리즘
- 폰트 최적화
- 백준
- 14938
- 목데이터
- 실버3
- 보정평균
- Python
- 파이썬
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |