반응형

2024/10/10 3

백준 20058 : 마법사 상어와 파이어스톰 - javascript(dfs)

문제 출처 https://www.acmicpc.net/problem/20058 정답 풀이 1. 그러니까, 주어진 grid를 크기에 따라 나누고 2. 그것을 회전한 후 3. 조건에 따라 얼음 -1 을 한다. 4. reduce 활용하여 모든 얼음의 합 5. dfs를 활용하여 가장 큰 덩어리를 출력  격자 회전 함수는 아래 블로그에 설명했다. https://fordang.tistory.com/352 격자 회전 함수 (90도 회전)1. 기본 개념 - grid : 회전해야 할 격자를 나타내는 2차원 배열- L : 격자를 나누는 단위의 레벨로, 2^L * 2^L 크기의 부분 격자로 나누어 회전한다. - size :  전체 격자의 크기 (size = 2^L)- 격자는 여러fordang.tistory.com 정답 코드..

격자 회전 함수 (90도 회전)

1. 기본 개념 - grid : 회전해야 할 격자를 나타내는 2차원 배열- L : 격자를 나누는 단위의 레벨로, 2^L * 2^L 크기의 부분 격자로 나누어 회전한다. - size :  전체 격자의 크기 (size = 2^L)- 격자는 여러 개의 작은 격자로 나뉘며, 각각의 작은 격자를 독립적으로 시계 방향으로 90도 회전 2. 변수 설명 - subgridSize = 2 ** L: 회전시킬 부분 격자의 크기를 결정예를 들어, L = 2이면 subgridSize = 2^2 = 4이 되어, 4×4 크기의 격자가 각각 회전합니다. - newGrid : 회전 결과를 저장할 새로운 배열- r,c : 각각 부분 격자의 시작 행과 열. 전체 격자를 부분 격자로 나누어 각각 회전해야 하기 때문에, r과 c는 subgr..

백준 13904 : 과제 - javascript(그리디)

문제 출처 https://www.acmicpc.net/problem/13904 정답 풀이 마지막 날짜에서 ~ 1일 차까지 계속 최대 점수를 채워준다. - max 값을 채워준다. - 이미 넣은 값은 해당 x - 남은 날을 비교했을 때, 현재 날짜보다 커야한다.  정답 코드 let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); const n = Number(input.shift()); input = input.map(el => el.split(' ').map(v => +v))input.sort((a,b) => b[0] - a[0])const visited = new Array(n).fill(false)let an..

반응형