{ 문제 }
https://www.acmicpc.net/problem/12100
{ 30분 노코딩 로직 사고 }
1. [입력] N 입력 ➡ board[N][N] 배열 0 초기화 ➡ board_check[N][N] 배열 0 초기화 ➡ board 원소 입력
2. [비교] board 행의 같은 수 연속이 많은지, 열의 같은 수 연속이 많은지 비교하는 함수 작성
행의 수가 연속하는 경우 & 0을 끼고 같은 수가 있는 경우, row_check[] 에 1 추가
열의 수가 연속하는 경우 & 0을 끼고 같은 수가 있는 경우, col_check[] 에 1 추가
[while(4) 반복문 안에서]
3. row_check > col_check 인 경우, 왼쪽 또는 오른쪽으로 블록을 이동시키고 합쳐지는 원소에 대해서는 board_check 를 1로 바꿔줌
4. col_check > row_check 인 경우, 위 또는 아래로 블록을 이동시키고 합쳐지는 원소에 대해서는 board_check 를 1로 바꿔줌
5. row_check, col_check을 반복하며 반복문 안에서 최댓값을 찾음
결론 : 대실패 / 방법 자체가 잘못된 것 같아 해답을 찾아보기로 함.
{ 해답 찾아보기 }
BFS or DFS를 이용한 문제라고 함. 근데 이거 둘 다 아직 공부 제대로 안 함.
알고리즘 공부하고 돌아오겠음.
'Python > 문제풀이' 카테고리의 다른 글
[➕ 오답노트] 백준 11478번 (0) | 2022.05.19 |
---|---|
[ ➕ 오답노트] 백준 17298번 오큰수 (0) | 2022.05.17 |
[ ➕ 오답노트] 프로그래머스 해시 - 베스트앨범 (0) | 2022.05.11 |
[2021 KAKAO 블라인드 채용] 메뉴 리뉴얼 (0) | 2022.05.10 |
[2] 백준 13458번: 시험감독 (0) | 2022.04.27 |