23/10/04
2023. 10. 5. 01:39
[알고리즘]
1. CodeTree - 싸움땅
- 벌써 3번째 푸는 문제. 귀찮다.
- 이 문제에서 가장 헷갈리는 부분은 플레이어의 위치를 조정하는 것이다.
- 왜냐면 한 자리에는 한 사람만 있는게 맞는데, 싸움 전에는 덮어버리면 안된다.
- 위치를 어느 시점에서 수정하느냐에 따라 이후의 이동 및 해당 위치에 사람이 존재하는지 검색하는데 영향을 준다.
- 해당 위치에 다른 사람이 있는지 확인할 때, 효율성을 위해 2차원 배열에 기록해야하나 했지만 플레이어가 30명이므로 그냥 전체 탐색을 했다.
- 따라서 다른 사람이 있는지 확인한 후에 해당 위치로 이동한다.
2. CodeTree - 격자 숫자 놀이
- 난이도는 낮은데 새로 푸는 문제라서 그런지 오래걸림
- 행, 열의 길이를 비교해야하며, 특히 열 기준으로 세어야 할 경우가 헷갈렸다.
- 각각 max_col, max_row 길이를 구한 다음, 그 길이에 맞춰 2차원 배열을 만들었다.
- 처음엔 가장 윗 줄이 제일 길지 않을까 했지만 그러리란 보장이 없다고 생각해서 결국 한 행을 내려갈 때마다 최대값을 찾았다.
3. CodeTree - 꼬리잡기놀이
- 이것도 3번째 푸는 문제
- 2차원 배열을 건들 생각일랑 말고, 각 팀원과 경로의 정보를 deque으로 저장해주면 쉽다.
- 대신 공을 맞았는지 확인하기 위해선 2차원 배열에 기록하는 것이 편하다.
- 공을 던질 때마다 배열을 새로 만들어준다.