반응형
문제
풀이
문제에서 주어진 위치로부터 상점들의 위치들까지에 대한 최단 거리의 합을 구하는 문제입니다.
상점까지의 거리는 시계 방향과 반시계 방향으로 나뉘기 때문에
저는 각각의 Case들에 대해 if else문과 switch문을 이용한 조건 반복문으로 풀이하였습니다.
코드가 상당히 길어지기 때문에 비효율적으로 풀이한 것 같습니다.
각각의 경우에 대하여 블록의 가로, 세로 길이 N과 M은 고정되어 있기 때문에
시계 방향으로 상점을 찾아갈 경우와 반시계 방향으로 찾아갈 경우를 Math.min ( ) 함수를 이용하여
최단거리를 answer 변수에 계속 더하여 최단 거리의 합을 찾았습니다.
코드
출처
https://www.acmicpc.net/problem/2564
반응형
'알고리즘 연습' 카테고리의 다른 글
[ SWEA_D1 ] 2047. 신문 헤드라인 _ JAVA 문제풀이 (0) | 2019.10.16 |
---|---|
[ SWEA_D1 ] 2050. 알파벳을 숫자로 변환 _ JAVA 문제풀이 (0) | 2019.10.16 |
[ SWEA ] 1868. 파핑파핑 지뢰찾기 _ JAVA 문제풀이 (1) | 2019.10.16 |
[ 백준_BOJ ] 1717. 집합의 표현 _ JAVA 문제풀이 (0) | 2019.10.16 |
[백준_BOJ] 1157. 단어공부 _ JAVA 문제풀이 (0) | 2019.10.16 |