Closed baexxbin closed 2 months ago
🤔 시간복잡도 고려사항
💡 풀이 아이디어
BFS
를 진행하여 그룹을 만들어서 그룹의 번호와 개수를 저장현재값 기준 아래 or 오른쪽이 다른 그룹인 경우 합 계산
임시 공간에 집어넣은 후 스와핑
🤔 시간복잡도 고려사항
시뮬레이션 문제, 특이사항 X
💡 풀이 아이디어
int size = N / 2;
for(int i=sx; i<sx+size; i++){
for(int j=sy; j<sy+size; j++){
// (0, 0)으로 옮겨주기
int ox = i-sx;
int oy = j-sy;
// x, y -> y, size-1-x
int rx = oy;
int ry = size-1-ox;
nb[rx+sx][ry+sy] = board[i][j];
}
}
🤔 시간복잡도 고려사항
💡 풀이 아이디어
🤔 시간복잡도 고려사항
💡 풀이 아이디어
(뭣모르고 제완님이 비트연산해서 입력받는거 따라하다가 입력이 잘못돼서 좀 헤맸네여 ㅎ ㅠ)
🤔 시간복잡도 고려사항 N <=29, 시간 제한 1000ms (= 1초) 4 * O(N^2) = O(N^2) 29^29 < 1억 -> 가능
💡 풀이 아이디어
🤔 시간복잡도 고려사항 알고리즘: 일반 구현 및 BFS 시간복잡도: 3 ≤ n ≤ 29
💡 풀이 아이디어
각 그룹 별 갯수
HashMap
으로 입력값 초기화 시 갯수도 함께 카운팅
다른 그룹과 맞닿은 변의 수 구하기
BFS
사용 (아직 문제 풀이중..)
십자모양 반시계 방향으로 회전
정사각형 반시계 방향으로 회전 변환을 위한 추가 배열 생성
for(int i=0; i< ROW; i++){
for(int j=0; j< COL; j++){
rotated[COL-1-j][i] = origin[i][j];
}
}