티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/86052
코딩테스트 연습 - 빛의 경로 사이클
각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진
programmers.co.kr
얼마전에 dfs로 비슷한 문제를 풀어서 dfs 쪽으로 생각했었는데 그냥 배열 문제였던것 같다.
알고리즘을 짜는데 핵심은 두가진데
첫번째는 어느 방향에서 왔을때 어떤 알파벳을 만나면 어떤 방향으로 빛이 나가는지,
두번째는 정점에서 어떤 방향으로 빛이 이동했는지 어떤 방식으로 기록하는지 이다.
첫번째는 위, 오른쪽, 아래, 왼쪽을 각각 0, 1, 2, 3 숫자로 생각해보면
오른쪽(1)에서 와서 R을 만나면 아래(2)로 간다
위(2)에서 와서 R을 만나면 왼쪽(3)으로 간다 ...
이런식으로 이전 방향에서 +1을 하면 된다는 것을 알수 있다.
모든 알파벳들이 이런식으로 법칙이 있다.
두번째는 방향이 4가지 이므로 3차원 배열을 만든다.
1,2차는 좌표, 3차는 뻗어나가는 방향을 기록한다.
'PS' 카테고리의 다른 글
| 프로그래머스. 멀쩡한 사각형 (0) | 2021.12.05 |
|---|---|
| 프로그래머스. 행렬 태두리 회전하기 (0) | 2021.12.03 |
| 프로그래머스. 숫자의 표현 (0) | 2021.11.17 |
| 프로그래머스. N개의 최소공배수 (0) | 2021.11.17 |
| 프로그래머스. 다음 큰 숫자 (0) | 2021.11.16 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- two pointer
- Implementation
- Brute Force
- greedy
- db
- DP
- floyd warshall
- C
- Unity
- 이분탐색
- binary search
- 조합
- Spring
- 자료구조
- 재귀
- back tracking
- BFS
- recursion
- MVC
- Kruskal
- priority queue
- dfs
- permutation
- CSS
- Tree
- C++
- Python
- Stack
- graph
- Dijkstra
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
