문제 링크입니다: 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 |