반응형
문제
택시 거리는 바둑판 모양의 도로망을 가진 도시에서 점 A에서 B까지의 최단 거리를 구할 경우 도로를 따라서만 가는 가장 짧은 거리를 뜻한다.
위의 사진에서는 빨간색 선이 택시거리이다. 즉, 점 A의 좌표가 (x1, y1)이고 점 B의 좌표를 (x2, y2)라고 했을 때, 두 장소 사이의 택시 거리 D는 다음과 같다.
인접한 0과 0, 0과 1, 1과 1 사이의 거리를 1이라고 할 때, 두 1 사이의 거리를 구하는 프로그램을 작성하시오.
문제풀이
n,m=map(int,input().split())
tmp=[]
for i in range(n):
#01
s=list(map(int,input().split()))
for j in range(len(s)):
if s[j]==1:
tmp.append([i,j])
#02
print(abs(tmp[1][0]-tmp[0][0])+abs(tmp[1][1]-tmp[0][1]))
- #01 : s 값 중에 1인 값의 좌표를 tmp에 추가한다. 총 2개를 추가하게 된다.
- #02 : x값 끼리의 차와 y값 끼리의 차를 절댓값을 사용하여 더하여 출력한다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 2089 파이썬 - -2진수 (3) | 2023.03.21 |
---|---|
[알고리즘] 백준 16479 파이썬 - 컵라면 측정하기 (2) | 2023.03.08 |
[알고리즘] 백준 6502 파이썬 - 동혁 피자 (2) | 2023.03.06 |
[알고리즘] 백준 16488 파이썬 - 피카츄가 낸 어려운 문제 (2) | 2023.03.05 |
[알고리즘] 백준 18221 파이썬 - 교수님 저는 취업할래요 (1) | 2023.03.04 |