문제 - (https://www.acmicpc.net/problem/15685) 3시간이나 걸렸다ㅠ 다른 사람들은 "방향"에 초점을 맞춰서 "배열"로 문제를 풀어나갔지만 나는 "좌표"로 풀었다.. 결과는... 시간도 너무 오래걸렸고 문제 자체도 배열로 풀어나가길 바란듯 하다. 왜냐면, 이 조건 때문이다. 0: x좌표가 증가하는 방향 (→) 1: y좌표가 감소하는 방향 (↑) 2: x좌표가 감소하는 방향 (←) 3: y좌표가 증가하는 방향 (↓) 조건에 따르면 y좌표가 감소하는 방향이 ↑인데, 좌표평면은 위로 갈수록 y값이 커진다. 하지만 배열을 이용해서 풀면, 배열은 위로 갈수록 y값(인덱스)이 작아진다. 이런 이유로 문제 출제자도 배열로 풀길 바란 것 같다. 출제의도 완벽히 무시하고 더 어려운 길을 택..
문제 - (https://www.acmicpc.net/problem/14503) 문제에서 주어진 로봇 청소기의 작동 방법대로 구현하면 되는 문제였다. 시뮬레이션 문제들은 문제를 먼저 이해하는 것이 중요한데, 나는 문제 하는데 시간이 좀 걸렸다ㅠㅠ - 로봇 청소기 작동 순서 - 현재 위치를 청소한다. 현재 위치에서 현재 방향을 기준으로 왼쪽방향부터 차례대로 탐색을 진행한다. 왼쪽 방향에 아직 청소하지 않은 공간이 존재한다면, 그 방향으로 회전한 다음 한 칸을 전진하고 1번부터 진행한다. 왼쪽 방향에 청소할 공간이 없다면, 그 방향으로 회전하고 2번으로 돌아간다. 네 방향 모두 청소가 이미 되어있거나 벽인 경우에는, 바라보는 방향을 유지한 채로 한 칸 후진을 하고 2번으로 돌아간다. 네 방향 모두 청소가 이..
문제 - (https://www.acmicpc.net/problem/14502) 완전탐색으로 풀 수 있는 문제였다. 세가지 스텝으로 문제를 해결할 수 있다. 1. 3개의 벽을 세울 수 있는 모든 경우를 구한다. 2. 그 상태에서 바이러스를 퍼뜨리는 시뮬레이션 진행. 3. 진행된 결과를 보고 안전 영역의 갯수를 구한다. 번호 순서대로 내 코드의 dfs, spreadVirus, dfs의 기저부분 함수를 확인하면 된다. 📌주의할 점 벽을 세우는 부분에서 재귀를 이용할 때, 반복문 순회에 주의하자 시뮬레이션을 진행할 때, deepCopy를 이용하여 새로운 배열을 만들어 진행해도 괜찮지만 굳이 그럴 필요 없이 전역으로 tempMap배열을 만들어놔서 벽이 세워진 상태의 map을 copy하는 방법을 사용하면 공간복잡..
문제 - (https://www.acmicpc.net/problem/14891) 시뮬레이션 문제... 솔직히 시간 좀 많이 잡아먹는다 실버 1 수준의 문제인데도 푸는데 1시간 정도 걸렸다 구현 문제는 특히 헷갈리는 부분 때문에 실수가 잦아 조심해야 한다 우선 꼭 짚고 넘어가야 할 것들만 언급하고 주의할 점과 내가 실수한 것을 쓰고 마치겠다 👀짚고 넘어가야 할 부분1 - 톱니바퀴 회전시키기 static String clockRotate(String state, int dir) { if (dir == 1) { // 시계 방향 return state.charAt(state.length() - 1) + state.substring(0, state.length() - 1); } else { // 반시계 방향 re..
- Total
- Today
- Yesterday
- 구명보트
- 톱니바퀴
- 코딩테스트 연습
- 인구이동
- BOJ
- header
- 16234
- 드래곤 커브
- 14891
- 프로그래머스
- 코테
- 재귀
- 자바
- 구현
- dfs
- Access-Control-Allow-Origin
- 사다리 조작
- 백준
- 아기상어
- 그리디
- withCredentials
- 시뮬레이션
- 우선순위큐
- Greedy
- 완전탐색
- 배열순회
- 큰 수 만들기
- 브라우저 요청
- 코딩테스트
- 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 |