전체 글 (88) 썸네일형 리스트형 백준 20127 <Y-수열> 이 문제는 어떻게 흐름을 파악하고 문제에서 말하는 것이 무엇인가! 하는 문제이다. 이 문제의 핵심은 앞에 있는 수열을 뒤로 옮겨서 증가, 또는 감소가 되는지이다. 즉 앞에 있는 수열을 최대 한번! 이동하는 것이다. 이 문제를 생각해보면 n^2 해서도 풀 수 있지만 그렇게 된다면 100만의 제곱! 시간 초과이다. 즉 n번의 탐색으로 증가가 되는지, 또 n번 돌려서 감소가 되는지를 찾는 문제이다. 문제 풀이 증가수열 먼저 --> 탐색하면서 감소하는 구간 있으면 count를 증가 현재까지의 증가수열 개수를 저장 count가 1 넘으면 한 번만으로 안됨 return 1번이면 맨 처음 수와 맨 마지막 비교해서 맨 처음수가 맨 마지막보다 작으면 증가수열 개수를 result로, 0 이면 result=0 감소 수열 -.. 백준 8972 <미친 아두이노> 일반적인 시뮬레이션이다. 이러한 문제는 삼성에 나올법한 유형은 문제이기 때문에 풀어보길 추천한다. 문제 풀이 종수의 아두이노를 움직인다. 미친 아두이노와 만나면 return 미친 아두이노가 담긴 queue를 이용해 8방향으로 움직여보고 가장 짧은 거리로 이동 새로운 맵에 체크를 한다. 만약 종수 아두이노와 만났다 return 미친 아두이노의 위치에 왔다 그 자리를 B--> 터짐 표시를 한다. 새로운 맵을 기존 맵에 옮기면서 미친 아두이노가 터지지 않았다면 queue에 담아준다. 이 그림 처럼 계속 진행해주면 풀리는 문제이다. 미친 아두이노를 queue에서 꺼내서 이동해준다. 미친 아두이노의 다음 위치를 체크해주는 과정 생존한 미친 아두이노를 큐에 다시 넣어준다. 이 과정을 반복하면 해결할 수 있는 문제이.. 백준 11967 <불켜기> 그래프 문제이긴 하지만 일반적인 BFS와 DFS랑은 다르게 생각이 필요한 문제였다. 이동을 할 때 불이 켜져 있으면 이동이 가능하기 때문에 이동을 할 수 있는 위치가 불이 켜져 있으면 계속 진행해주도록 생각해줘야 하는 문제이다. 문제 풀이 큐에서 꺼내 그 지점에서 불을 켜준다. 그리고 이동한 장소에서 4방향을 갈수 있다고 표시해준다. 이동할 장소를 표시한 이차원배열에서 불이 켜져 있고 방문을 안 했고 이동할 수 있다면 큐에 넣어준다. 즉 불을 키고 이동할 장소인지 계속 찾아주는 전체 탐색인 것이다. 생각해보니 총 맵의 크기가 100*100 이므로 제곱을 돌아도 1억이므로 시간이 넘치지 않는다. 이러한 예제가 주어진다면 처음 시작은 이러할 것이다. 이런 흐름으로 진행 될것이고 2,2는 킬 수 있는 것이 없.. 이전 1 2 3 4 ··· 30 다음