본문 바로가기

프로그래머스 퀴즈(Python)/level 2

23.02.20 파이썬 코딩 퀴즈#163 무인도 여행(프로그래머스 스쿨)

이번 문제는 무인도 여행 문제이다

지도를 나타내는 문자열 배열 maps 가 전달된다.

이 때 배열안 정수는 식량을 의미하며, 식량의 합은 섬에서 머무를 수 있는 최대일수 이다.

만약 머무를 수 없다면 -1을 반환해야 한다.

위 예시처럼 전달받은 배열을 다 확인해야 한다.

전체 탐색이 필요한 시간이다.

탐색을 위한 코드는 위와 같다.

특별한건 없다.

다만 index 오류를 방지하기 위해 각 열에 문자열 X 를 한번 추가해주고, 마지막에는 추가된 문자열 길이만큼의 행을 한줄 추가해 주었다. 

이러한 추가 작업이 번거롭다면, 탐색할때 조건에 범위를 넘어가지 않게끔 한번 더 설정해 주면 된다.

이제 첫번째 '무인도' 가 나올때까지 탐색을 하게 된다. 그리고 그 무인도를 기점으로 좌/우/상/하를 기준으로 무인도가 더 있는지 확인하고 있으면 q 에 넣어준다.

그리고 q가 완전히 소모되어, while문을 벗어난 직후의 land 값을 answer에 추가해준다.

 

코드를 쓰는게 귀찮은거지, 사실 크게 어려운 문제는 아니다.