알고리즘35 Java 시험장 팁 1. 정렬 sort() Arrays.sort() : 배열 정렬 Collections.sort() : List Collection 정렬 ex) ArrayList, LinkedList, Vector Interface Comparable 기본적으로 적용되는 정렬 기준이 되는 메서드를 정의 기본적으로 오름차순 구현 방법 정렬할 객체에 Comparable interface implements compareTo() 메서드 오버라이드 리턴 값이 음수, 0 ⇒ 그대로 리턴 값이 양수 ⇒ 두 객체 swap if(this.o > param.o) return 1 // 오름차순 if(this.o < param.o) return 1 // 내림차순 else return -1 - 예시 @Override // 오름차 순 (어린거부터.. 2020. 4. 24. SWEA 모의 역량 테스트 2105 디저트 카페 SW Expert Academy 자료구조 cake : 각 디저트를 먹었는지 체크 visit : 각 칸을 방문했는지 페크 풀이 각 칸마다 dfs를 돌린다 ⇒ 돌린 후, 첫 칸에 대한 cake과 visit을 초기화! dfs 파라미터 y, x, dir은 현재 좌표와 이동방향 sy, sx는 시작점 cnt는 디저트를 몇 개 먹었는가 (depth) change는 방향을 몇 번 꺾었는가 (사각형을 만들려면 총 3회꺾어야 함) DFS의 조건문 세 번 꺾은 후 출발점으로 되돌아온 경우 if(change==3 && y==sy && x==sx) 범위 초과, 이미 방문, 이미 먹은 디저트 ⇒ return 출발점 : cake와 visit을 갱신해 준 후 다음 칸으로 재귀호출 (방향전환 x) 출발점이 아닐 경우 그대로 : 원래 .. 2019. 10. 9. SWEA 모의 역량 테스트 5644 무선 충전 SW Expert Academy 자료구조 bc : BC들의 정보가 담긴 벡터 (P가 높은 순으로 정렬되어 있음) map : 각 칸은 벡터로 되어 있고, 해당 칸에서 사용 가능한 bc의 id가 담김 (자연스럽게 높은 순으로 정렬되어 있음) 풀이 sort() : BC들을 먼저 P가 높은 순으로 정렬한다 check_range() : 각 BC마다 BFS를 돌려서 방문하는 map의 벡터에 BC id를 넣어준다 ⇒ P가 높은 BC부터 돌려주기 때문에 자연스럽게 각 칸에도 P가 높은 순으로 들어가게 되어 있음 이제 m초간 시뮬레이션 : 각 칸의 벡터 크기로 조건을 나눠준다 A, B 한 명이 빈 칸에 있을 경우 (map[ay][ax].size()==0 || map[by][bx].size()==0) ⇒ 겹칠 일이 없으므.. 2019. 10. 9. SWEA 5656 벽돌 깨기 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com 오답노트 1. dfs 돌릴 때 가로 길이가 12보다 작을 때도 0부터 12까지 고르게 함.. => 시간초과 for (int i = 0; i T; /* 여러 개의 테스트 케이스가 주어지므로, 각각을 처리합니다. */ for (test_case = 1; test_case > n >> w >> h; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j+.. 2019. 7. 27. 이전 1 2 3 4 5 6 7 ··· 9 다음