www.acmicpc.net/problem/14395 14395번: 4연산 첫째 줄에 정수 s를 t로 바꾸는 방법을 출력한다. s와 t가 같은 경우에는 0을, 바꿀 수 없는 경우에는 -1을 출력한다. 가능한 방법이 여러 가지라면, 사전 순으로 앞서는 것을 출력한다. 연산의 아 www.acmicpc.net 풀이 1) bfs를 돌림 1-1) 나오는 애들을 4연산을 하여 queue에 연산된 숫자, 누적된 연산자를 저장 1-2) queue.poll().num이 t가 되면 누적된 연산자를 출력후에 리턴. 주의사항 1) 가능한 방법이 여러 가지라면, 사전 순으로 앞서는 것을 출력한다. 연산의 아스키 코드 순서는 '*', '+', '-', '/' 이다. 이 말은 즉 dir[]을 *, +, - / 순서로 만들라는 뜻이..
www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 풀이 1) 입력값을 저장할 map[][]과 방문체크용 배열 isVisited[][][]를 생성한다. 2) bfs를 돌리기위해 필요한 함수, 변수를 클래스를 생성한다. 클래스의 멤버는 좌표(r,c), 벽뚫은 횟수 (k), 이동 횟수(t). 3) (0,0) 에서 bfs를 돌린다 (N-1,M-1)에 도착하면 이동 횟수(t) +1 을 출력 후 리턴 벽을 부술 수 없는 경우 : k 벽..
www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net 풀이 1) 간선의 정보를 담을 리스트 배열 list[], 정점이 속한 팀을 나타낼 배열 team[] 을 생성한다. 2) 리스트에 양방향으로 간선의 정보를 담는다. 3) Node 클래스를 만든다. 멤버는 정점의 번호와 팀. 4) i = 1부터 V까지 team[]이 0이라면 bfs를 돌릴것이다. (0 : 아직 팀이 정해져 있지 않은 점) team[i] 를 1로 설정한 후 큐에 담는다 (queue.off..
www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5≤N, M≤100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 표 www.acmicpc.net 풀이 1) 방문체크를 위한 int형 2차원 배열 check[r][c] 가 필요하다. 방문했을 시 1을 저장한다. 2) (0,0)은 항상 공기이므로 계속 (0,0) 에서만 bfs를 돌릴것이다.
www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 풀이 1) 맵을 담을 배열 map과 방문체크를 할 배열 isVisited을 만든다. 1-1) isVisited는 boolean형 3차원 배열이며 r(행), c(열), k(말처럼 이동한 횟수)이다. 문제에서 k는 30까지밖에 못한다 2) Node 라는 class를 만든다. Node의 멤버는 r(행), c(열), k(말처럼 이동한 횟수), depth(총 이동 횟수) 이다. 3) 좌표(0,0)에서 b..
www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net 풀이 1) 맵, 방문체크, 총 양, 총 늑대를 static으로 선언 2) 2중 포문으로 맵을 돌면서 방문체크가 안되어있고 #인 경우 bfs탐색 2-1) bfs를 돌때마다 한 울타리 내에 양의 수와 늑대의 수를 기억함 2-2) 양의 수가 크면 총 양에 더함, 작거나 같으면 총 늑대에 더함 3) 총 양과 총 늑대의 수를 출력 주의사항 1) 없다. 함정이 없는 깔끔한 문제. package com.baek..
www.acmicpc.net/problem/2933 2933번: 미네랄 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 풀이1 (메모리 초과) 1) 큐에 막대기 정보를 담음 2) 큐가 빌 때까지 poll() 하면서 맵을 부숨 3) bfs를 돌려서 붙어있는 덩어리를 list에 담음 4) list에서 열(c)중에 가장 행(r)이 높은 애들만 따로 list2에 담음 5) list2중에서 바닥 or 미네랄과의 최소거리 min을 구함 6) list를 min만큼 아래로 내림 7) 반복 주의사항 1) 방문체크하는 배열의 초기화 위치 package com...
- Total
- Today
- Yesterday
- S2
- 객체지향
- map
- 그리디
- react native
- 백준
- 현꾸라지
- DFS
- 알고리즘
- laugh4mile
- 백트래킹
- Spring Boot
- 구현
- S3
- SWEA
- G5
- g4
- PriorityQueue
- BFS
- java
- Spring
- 다익스트라
- react
- 리액트
- 문자열
- 자바
- 우선순위큐
- 코딩새내기
- 시뮬레이션
- 리액트 네이티브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |