[SWEA 5648번] 원자소멸 시뮬레이션 URL SWEA 모의역량 테스트 문제들 중에서 시뮬레이션 문제로는 끝판왕인 것 같다.입력으로 주어지는 원자들의 초기 입력 값들도 음수로 주어지고, 원자 충돌이 1초, 2초가 아닌 1.5초, 2.5초처럼소수점으로도 충돌한다. 이 입력 값을 연산이 편하게 바꿔주는 것이 중요하다. ※ 런타임에러가 계속 뜨길래, 도대체 왜그런가 했더니 visited 배열과 collapse 배열을 tCase마다 새롭게 초기화했더니 메모리가 부족해서 그랬다. [풀이 방법] 1. 입력으로 주어지는 원자의 좌표 값은 -1000 이상 1000이하이므로, 이를 양수 좌표로 바꿔줘야 한다.입력된 좌표 각각에 +1000을 해줌으로써 0이상 2000이하로 범위를 바꾼다. 2. 0.5초 단위로 원자들이..
[SWEA 2105번] 디저트 카페 URL 1. N X N의 Map에서, 가능성이 있는 조합을 모두 찾는다. 예를 들어, 4 X 4의 2차원 배열에서 탐색할 수 있는 칸의 조합은 왼쪽아래, 오른쪽아래, 오른쪽위, 왼쪽위 순서로 탐색했을 때 다음과 같다. 1) 왼쪽아래 2칸 // 오른쪽아래 1칸 // 오른쪽위 2칸 // 왼쪽위 1칸2) 왼쪽아래 1칸 // 오른쪽아래 2칸 // 오른쪽위 1칸 // 왼쪽위 2칸3) 왼쪽아래 1칸 // 오른쪽아래 1칸 // 오른쪽위 1칸 // 왼쪽위 1칸 2. 4 X 4 2차원 배열의 어느 지점에서, 1번에서 구했던 각 방향마다의 이동칸수가 가능하다면, 탐색을 시작한다.탐색할 때에는 디저트의 종류는 1부터 100이므로 boolean형 배열을 선언해서 확인한다. [소스 코드]12..
[5650. [모의 SW 역량테스트] 핀볼 게임 URL] 1. 입력으로 주어지는 N X N 핀볼 게임판에서, 빈공간에서 4방향 (동, 서, 남, 북)으로 공을 굴려가며 최대 값을찾는다. 2. 이 문제에서 탐색 중단 조건은 블랙홀(-1)을 만났거나, 처음 시작 위치로 되돌아오는 경우이다. 3. N X N의 핀볼 게임판의 가장자리는 "벽"이라고 가정한다. 즉, N이 아닌 N+2만큼의 2차원배열을 선언하고 가장자리에 "5" 짜리 블럭을 세운다. 4. 공을 굴리는 도중, 블럭을 만났다면 방향을 바꿔주고, 웜홀을 만났다면 다른 웜홀 위치로 이동시킨다. [전체 소스코드]1234567891011121314151617181920212223242526272829303132333435363738394041424344454..
[SWEA 2112. [모의 SW 역량테스트] 보호 필름 URL]1. 총 3가지의 경우를 생각할 수 있다.1) 현재 행을 그대로 두는 경우2) 현재 행에 A약을 투입하는 경우3) 현재 행에 B약을 투입하는 경우 2. 위의 세 가지 경우를 생각하며 DFS 탐색을 진행한다.DFS 매개변수로는, 이전 필름의 상태(prev), 시약을 투입한 횟수(numOfInject), 필름의 두께(depth)이다.현재 행을 그대로 두는 경우에는 numOfInject의 수는 변함이 없고, 현재 행에 약을 투입하는 경우에만 1을 증가시켜 DFS탐색을 진행한다. 현재 행(depth)에 시약을 투입할 경우 필름의 상태를 변경한 뒤, DFS의 매개변수로넘겨준다. 3. 성능검사 통과isPossible() 메소드를 참고하기 바란다. [소..
[SWEA 1949. [모의 SW 역량테스트] 등산로 조성 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PoOKKAPIDFAUq&categoryId=AV5PoOKKAPIDFAUq&categoryType=CODE 1. 최대값을 찾는다.2. 최대값부터 DFS 탐색을 시작한다.3. DFS는 등산로의 길이와 공사 여부를 매개변수로 받는다.4. DFS 탐색시, 현재 위치와 다음 위치의 높이를 비교한다. - 현재 위치가 다음 위치보다 높다면, 다시 DFS 메소드를 호출한다. 여기서 주의할점은 다음 탐색시, 공사여부는 현재 공사여부의 값을 매개변수로 받는다. (현재 공사여부 = 다음 공사여부) - 현재 위..
[SWEA 1953. [모의 SW 역량테스트] 탈주범 검거 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq&categoryId=AV5PpLlKAQ4DFAUq&categoryType=CODE 이번 문제는 쉬운 BFS문제이지만, 현재 칸에서 다음 칸으로 넘어갈 수 있는지에 대한 조건이 많다.아래 그림을 보자.현재 방문한 파이프가 1번이라고 가정해보자. 그럼 1번 파이프에서 방향에 따라 다음 파이프로 이동할 수 있는지, 없는지가 결정된다. 현재 파이프가 1번이고 이동 방향이 동쪽이라고 할 때, 1번 파이프에서 이동할 수 있는 다음파이프는 1번, 3번, 6번, 7번 파이프가 된다..
[4012. [모의 SW 역량테스트] 요리사 URL]https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeUtVakTMDFAVH&categoryId=AWIeUtVakTMDFAVH&categoryType=CODE 백준의 스타트와 링크 문제와 100% 같은 문제이다.2019/03/09 - [알고리즘 문제/백준(BOJ)] - [백준 14889번] 스타트와 링크 (JAVA) [소스 코드]123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869..
- Total
- Today
- Yesterday
- 알고리즘
- 알고스팟
- 탐색
- 우선순위 큐
- 배열
- 중간값
- 탈주범 검거
- 구현
- 14888
- 브루트포스
- 삼성
- BFS
- 자바
- 리스트
- 영역 구하기
- 시뮬레이션
- DFS
- 나무 재테크
- 힙
- 최대힙
- 구슬 탈출2
- 정렬
- 힙정렬
- 큐
- 트리
- SWEA
- 최소힙
- 연산자 끼워넣기
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |