발전기 문제에서 발전된 문제
이제는 (1) 건물 유형에 따라 (2) K개 이상의 동일 건물 유형이 있는, 연결된 건물들을 '단지'라고 정한다.
M(r,c)데이터를 저장하기 위해
M = [ 0 for _ in range(31) ] 로 지정해서, 1부터 30까지에 해당하는 건물 유형인 M(r,c)를 인덱스로, 단지 수를 배열의 요소로 저장했다.
배열로 만든 이유는, M 배열에서 가장 큰 요소를 찾아야 하는데 요소간 중복이 가능하다
그런데 출력 조건이 같은 값이면 건물 유형인 M(r,c)의 크기가 큰 것을 출력해야 한다.
따라서, 인덱스 역방향으로 탐색을 하는게 편할 것 같았다. => max() 내장함수로 값을 찾은 뒤, 값과 똑같은 요소를 가진 인덱스를 출력
[배운점]
마무리 후에 Q&A 게시판을 봤는데, 문의 글이었지만 코드가 인상깊었다.
if visit[row][col] == True:
continue
이 방법이었는데, 이는 if문 아래에 조건이 더 추가되는 경우 인덴트(indent, 들여쓰기)를 관리할 수 있는 좋은 작성 방법이라고 생각된다.
그리고 for문 한줄 표현 초기화 하는 방법도 배웠다.
오늘의 학습 일기 끝!
'알고리즘['파이썬','JavaScript'] > 구름' 카테고리의 다른 글
구름톤 챌린지 3주 day15 학습 일기 (0) | 2023.09.01 |
---|---|
구름톤 챌린지 3주 day14 학습 일기 (0) | 2023.08.31 |
구름톤 챌린지 3주 day12 학습 일기 (0) | 2023.08.29 |
구름톤 챌린지 3주 day11 학습 일기 (0) | 2023.08.28 |
구름톤 챌린지 2주 day10 학습 일기 (0) | 2023.08.25 |