일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 비트마스크
- dfs
- 2020 카카오 공채
- CS 스터디
- 프로그래머스
- 삼성 SW 기출문제
- 2018 카카오 공채
- Java
- Baekjoon
- 알고리즘
- 2018 KAKAO BLIND RECRUITMENT 1차
- 2019 카카오 공채
- c++
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- set
- 2019 KAKAO BLIND RECRUITMENT
- 2018 KAKAO BLIND RECRUITMENT
- 2020 KAKAO BLIND RECRUITMENT
- 백준
- 카카오 공채
- 자바
- map
- 부스트코스
- 카카오
- gradle
- gcp
- bfs
- 삼성 SW 역량테스트
- 2018 카카오
- 젠킨스
- Today
- Total
목록dfs (4)
아무코딩
문제풀이 java 의 경우에는 비트마스크를 이용해서 풀어보았고, c++의 경우에는 dfs를 사용해서 풀었다. 7달 전에 작성한 방법과 다른방법으로 풀어보고자 비트마스크를 사용해보았다. 문제 풀이 방법은 구역을 다 나누어보고(완탐), 그렇게 나누었을 때 조건이 성립하는지(연결이 되는 상태인지)를 체크해준다. 조건이 만족할시에는 최솟값 업데이트를 해준다. 소스코드 java 더보기 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ..
문제풀이 카카오에 블록이동과 비슷한것 같지만 다른 문제입니다. 그때는 기준을 왼쪽 위(목적지와 상대적으로 가까운 지점)를 기준으로 잡았지만 이번에는 목적지와 상대적으로 가까운 지점을 기준으로 잡습니다. 그리고 현재 방향, 다음 방향을 모두 고려하여 불가능한 케이스를 제거해주고, 다음 위치의 벽유무, 범위 체크등을 해주며 dfs를 진행해 주면 되는 문제입니다. 소스코드 더보기 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 6..
문제풀이 너무 꼬아서 생각했다.. 내가 너무 쉬운 스도쿠만 풀었는지 확실하게 유니크한 값들을 채워나가면 공백이 줄지 알고 공백들을 계속 돌려 유니크한 1개의 값을 채워나가는 방식으로 생각했는데 예외가 너무 많았다. 고려할게 2가지 이상인게 모두일때 그 방법은 무한루프 상태가 된다. 그래서 남들 처럼 dfs 방법으로 풀었다. 자리확인은 원래 bool 배열로 해도 됐으나 그전에 짠 비트마스크 코드가 아까워 그대로 사용하였다. 하고보니 그냥 간단한 dfs문제였다. 소스코드 더보기 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 4..
풀이과정 1. dfs를 통해 모든곳을 완탐한다. 2. 크기가 큰 색종이 부터 확인한다. 소스코드 더보기 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 #include #include #include #include #define ATTACH 0 #define DETACH 1 using namespace std; int map[10][10]; i..