일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- D4
- 1251
- 스프링
- BFS
- swea
- SW역량평가
- BOJ
- Floyd
- 그래프
- Spring
- dp
- 골드5
- 알고리즘
- 백엔드
- backend
- professional
- 최단경로탐색
- SW역량테스트
- 완전탐색
- 중복순열
- 트리의지름
- 골드3
- java
- 순열
- Framework
- 백준
- 최소신장트리
- 최단경로
- 실버1
- Today
- Total
목록골드5 (3)
공부 기록장

이 문제는 백준의 골드 5레벨 문제이다. 어제부터 어떤 분이 정리해두신 코딩테스트 대비를 위한 문제 리스트를 풀고 있는데, 레벨별로 정말정말 정리를 잘 해두셨다. 이 문제도 그 문제 중 하나였다. 시뮬레이션 기본 문제라고 하셨는데, 사실 골드 5 레벨 치고는 좀 쉬웠던 것 같다. 문제 푸는 시간보다 블로그 포스팅이 더 오래걸릴 수도 있겠다는 생각이 들 정도로..? 이 문제는 빗물이 쌓인 부분들을 계산하면 되는 문제인데, 1) 2차원 배열을 만들어서 땅이 있는 부분이라면 1을 저장해준다. 2) 2차원 배열을 처음부터 돌면서 2-1) 이번에 도착한 곳이 땅인데 지난번에 도착한 곳도 땅이라면 temp = 0 2-2) 이번에 도착한 곳이 빈 공간인데 지난번에 땅이였다면 카운팅 스타트! 2-3) 이번에 도착한 곳..

이 문제는 백준 골드 5레벨 문제이다. 사실 처음에 이 문제를 봤을때는 어떡해야하나.. 싶었는데 부분집합을 이용해서 A와 B집합에 들어갈 구역을 나눠주고, bfs를 이용해서 그 구역들이 연결되어 있는지 확인해보면 될 것 같았다. 근데 자꾸 인덱스초과가 나길래 도대체 나는 틀린곳이 없는데 왜 그런가.. 답답했었는데, 역시 내가 틀린거였다^^! 부분집합 구하는 부분에서 return값을 잘못줘서 그런 것이었다. 이 코드는 크게 3 부분으로 나눌 수 있는데, 1. 입력받기 (main 문) 2. 부분집합 구하기 (powerset 부분) 3. 연결 되어있는지 확인 (bfs) 입력부터 살펴보자면, LinkedList를 이용해서 입력을 받아주었다. Point라는 클래스를 만들어서 그 안에 from, to, pop (나..

이 문제는 백준 골드5 레벨의 문제이다. 이 문제는 벽 부수고 이동하기랑 비슷한 문제이다. 벽 부수고 이동하기보다 조금 더 어려운 것 같은데, 레벨은 더 낮다. 왜지... 근데 벽 부수고 이동하기 문제 풀기 전에 이 문제를 만났다면 못 풀었을 것 같다. 이 문제의 포인트는 평상시처럼 4방향만 도는게 아니라 말처럼 움직이는 것 까지, 총 12 방향으로 움직이는 것을 고려해 주어야 한다는 것이다. 델타 배열을 사용해서 움직일건데 인덱스가 0부터 3일때 까지는 왼쪽부터 시계방향으로, 4-11까지는 대각선으로 움직이게 만들었다. bfs를 돌 떄, 1) 칸을 넘어가거나, 방문 할 수 없는 곳이라면 pass. 2) 말 처럼 움직일 건데 점프 횟수가 남아있지 않아도 pass. 3) 벽 부수고 이동하기 때 처럼 같은 ..