일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- D1
- 해시해킹
- 크로스핏
- 26008
- BOJ14889
- DP
- dart
- 그리디
- 15662
- 1781
- 브루트포스
- 재귀함수
- 회전하는큐
- 1로만들기2
- sw expert academy
- 재귀
- BOJ
- 백준
- 삼성
- Crossfit
- 스택
- spring boot
- 15353
- 동적프로그래밍
- 14863
- Python
- 서울에서경산까지
- Flutter
- C++
- 4811
- Today
- Total
목록분류 전체보기 (94)
곧죽어도 콛잉

https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1) 집, 치킨집의 좌표를 담는 배열을 선언한다. 2) 치킨집의 개수 중에 M개를 뽑아내는 조합 함수를 구성한다. 3) 뽑은 M개를 통해 도시 치킨 거리를 구한다. 이때 최종 결과값 res는 min 함수로 업데이트해준다. 이 문제는 시간 복잡도를 계산해보면 그렇게 크지 않다. 즉 완전 탐색으로 해결 가능하다! 복잡하게 생각할 것 없이 문제 조건 그대로 구현해주면 된다. 집의 ..

https://www.acmicpc.net/problem/17825 17825번: 주사위 윷놀이 주사위 윷놀이는 다음과 같은 게임판에서 하는 게임이다. 처음에는 시작 칸에 말 4개가 있다. 말은 게임판에 그려진 화살표의 방향대로만 이동할 수 있다. 말이 파란색 칸에서 이동을 시작하면 www.acmicpc.net 1) 하나의 숫자로(0, -1, 1) 채워져있는지 확인하고, 1-1) 만약 채워졌다면, 그 숫자를 확인한 후 개수를 세준다. 1-2) 만약 안채워졌다면, 사각형을 9등분한 후 각 사각형마다 다시 1) 과정을 반복한다. 진짜 말도 안되는 문제..... 아직 초보자인 나에겐 골드의 벽도 어렵다... 열심히 해야겠다 ^^.... 자다가도 벌떡 일어나 bfs코드 입력할 수 있는 사람이 되자.. 일단 문제..

https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 1) 스택을 만든다. 1-1) 오큰수를 찾으면 저장하고 pop한다. 스택이 빌때까지 시행한다. 1-2) 입력되는 수를 push 한다. 재미있는 문제이다.. NGE(n)이라는 수열의 값을 구하라 했으니깐 즉, x일때 NGE(x)의 값, 함수를 만들면 끝나는 문제다. 근데 이거 그냥 아무생각없이 이중 for문으로 구하면 시간 초과 난다... 다른 방법을 생각해야한다. (백만 x 백만의 시간복잡도를 가진다) x일..

https://www.acmicpc.net/problem/1189 1189번: 컴백홈 첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K ≤ R×C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R×C 맵의 정보를 나타내는 '.'과 'T'로 구성된 길이가 C인 문자열이 주어진다 www.acmicpc.net 1) find_rt함수를 재귀적으로 실행해준다. (bfs나 dfs처럼 동작) 1-1) base 조건은 x,y가 목적지에 도달했고 여기까지 온 비용이 K와 동일할때 1를 리턴한다. 1-2) 비용이 K와 동일하지 않다면, 0을 리턴한다. 1-3) 목적지에 아직 도달하지 않았다면, 목적지까지 네 방향으로 순회한다. 난 먼가 어려웠다... bfs나 dfs는 공식대로..

https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 1) 순서와 상관없이 빈공간 중에서 3개를 뽑는다. 2) 앞에서 구한 경우의 수만큼 반복문을 돌려준다. 2-1) 벽을 세워준다. 2-2)모든 바이러스를 확산(dfs) 시킨다. 2-3) 안전구역의 개수를 구한다. 2-4) 안전구역이 최대값인지 확인한다. 3) 안전 구역의 최대값을 출력한다. 일단 전체 범위를 보면 그렇게 크지 않다. 즉, 그냥 문제 설명대로 따라가기만 해도 문제가 풀린다! 무식하게 한번해보자. ..

https://www.acmicpc.net/problem/1325 B)은 성립되지 안되는 걸 꼭 짚고 가야한다. 나는 그걸 착각해서 고생을 좀 많이했다 ㅠㅠ 문제를 꼭 제대로 읽자. (나만 바보였을지도...^) bfs로 트리를 순회하는데, 여기서 주목해야할 점이 바로 void가 아니라 int형을 반환한다. 이것도 이전 트리문제와 비슷한데, 재귀를 돌수록 합이 증가해 결국 최종 리턴값은 자식 노드들의 개수 + 1(자기자신)가 된다! 이렇게 최종적으로 나온 리턴값의 최대값을 구하면 된다! 같을 경우에는, 별도의 배열에 넣어주자. #include using namespace std; int N, M, A, B; vector arr[10001]; int vis[10001], res[10001]; int dfs(..