알고리즘/BOJ

백준 1981번 배열에서 이동

꾸준함. 2019. 10. 8. 09:44

문제 링크입니다: https://www.acmicpc.net/problem/1981

 

1981번: 배열에서 이동

문제 n×n짜리의 배열이 하나 있다. 이 배열의 (1, 1)에서 (n, n)까지 이동하려고 한다. 이동할 때는 상, 하, 좌, 우의 네 인접한 칸으로만 이동할 수 있다. 이와 같이 이동하다 보면, 배열에서 몇 개의 수를 거쳐서 이동하게 된다. 이동하기 위해 거쳐 간 수들 중 최댓값과 최솟값의 차이가 가장 작아지는 경우를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n(2≤n≤100)이 주어진다. 다음 n개의 줄에는 배열이 주어진다. 배열의 각 수는 0보

www.acmicpc.net

백준 2842번 집배원 한상덕(https://jaimemin.tistory.com/1279)과 유사하지만 조금 더 난이도가 쉬운 문제였습니다.

이차원 배열에 등장하는 모든 숫자들을 정렬된 상태로 각각 하나씩 가지고 있는 벡터 v가 이 문제의 핵심이였습니다.

low와 high를 초기에 0으로 두고 시뮬레이션을 통해 결과값을 계속 갱신해나가면 됩니다.

 

조건이 성립할 경우 low를 증가시키고 조건이 성립하지 않는 경우 high를 증가시킵니다.

조건이 성립하지 않고 더 이상 high를 증가시키지 못할 경우 반복문을 빠져나오면 되는 문제였습니다.

 

개발환경:Visual Studio 2017

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

 

 

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 7785번 회사에 있는 사람  (0) 2019.10.21
백준 6087번 레이저 통신  (0) 2019.10.13
백준 2957번 이진 탐색 트리  (0) 2019.10.08
백준 2933번 미네랄  (0) 2019.10.07
백준 2186번 문자판  (7) 2019.10.03