일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- react hook
- C++
- 페이지이동함수
- react-router-dom
- network core
- 리렌더링최적화
- react fsd
- 비동기함수
- navigationBar 숨기기
- access network
- 페이지전환
- featured-sliced-design
- 세로모드끄기
- LazyHGrid
- 블로그업로드확인
- CSS
- BFS
- LazyVGrid
- @observedobject 프로퍼티 래퍼
- 상단 빈공간 제거
- physical media
- GridItem
- 반응형 css
- SwiftUI Font
- 가로모드끄기
- @published 프로퍼티 래퍼
- 리액트최적화
- 컴퓨터네트워크
- @environmentobject 프로퍼티 래퍼
- 동기 함수 내에서 비동기 함수 호출
- Today
- Total
목록BOJ_C++_PS (72)
leebaek
문제 지훈이가 미로에서 불을 피해 탈출할 수 있는지, 있다면 시간을 구하는 문제 불과 지훈은 상하좌우로 움직일 수 있고, 한번에 한칸씩만 움직일 수 있음 생각 토마토 문제처럼 큐 하나로 동시에 진행할 수 있을 거라 생각하고 코드를 짰는데 대실패함 예시가 별로 없어서 코드를 짜고도 맞는지 모르겠음 ㅠㅠ 도저히 못 풀겠어서 바킹독님 강의 봄 불 bfs랑 지훈이 bfs를 따로 만들어서 풀어야한다는 사실을 깨달음 문제풀이 1.불, 지훈이 vis 배열을 -1로 채우기 ( 거리를 초기화 시켜줌 ) - fill 함수 사용 ( fill(시작 위치, 끝 위치, 값) ) 2.불 bfs 구하기 ( 기준 칸에서 +1 해주는 방식 ) -범위 벗어나면 continue -방문했거나 #인 경우 continue 3.지훈이의 bfs 구..
문제 상자 안에 있는 토마토가 모두 익을 때까지의 최소 날짜를 구하는 문제 -익은 토마토는 1, 익지 않은 토마토는 0, 토마토가 없는 칸은 -1로 표시됨 생각 상자 안에 토마토가 한개만 있으면 문제가 단순한데, 두개 이상이 있을 경우엔 토마토가 동시에 익으니까 이걸 어떻게 풀어야 하나 고민을 했음 처음에 토마토가 있는 칸을 찾아서 몽땅 큐에 넣으면 되겠다는 생각은 했음 날짜 세는건 이전에 풀었던 백준 2178번 문제와 같아서 구현은 쉬웠음 근데 생각은 되는데 코드를 짜려니까 모르겠어서 바킹독님 강의 들음 문제풀이 1. board에서 토마토가 들어있는 칸을 큐에 모두 집어넣음 -동시에 토마토가 익을 수 있음 2. 1번 과정에서 익지 않은 토마토 칸이 나오면 -1 표시해줌 ( 나중에 토마토가 모두 익었는지..
문제 첫번째 칸에서 마지막 칸까지 가는 최단 경로의 길이를 구하는 문제 문제해결 bfs를 통해 1이 적힌 칸의 개수를 찾는 것은 쉬웠는데, 최단 경로를 어떤식으로 구해야하는지 감이 안왔음 다른 분이 작성하신 코드를 보고 '아!!!!' 했음 일단, 각 칸에 첫번째 칸부터 해당위치의 칸까지의 길이를 저장할 cnt배열을 만들어야함 (-첫번째 칸은 길이가 1 임) -(0, 0) 칸의 상하좌우에 길이 있는지 확인 -(1, 0)에 길이 있다면 방문표시 & cnt 배열 (1, 0)에 cnt[0][0]값 + 1 을 넣어줌 -(1, 0)에 길이 있다면 방문표시 & cnt 배열 (0, 1)에 cnt[0][0]값 + 1 을 넣어줌 -마지막 칸에 도착하면 bfs 종료 ( 난 Q가 빌때까지 했음 ) -마지막 칸의 cnt배열 값..
문제 도화지에 그려진 그림의 개수와 그림의 최대 넓이값을 출력하는 문제 문제해결 알고리즘 BFS(너비우선탐색) 방법 사용 1. 그림판에서 그림이 그려지는 시작 부분을 찾음 ( 그림의 개수 +1 ) 2. 찾은 부분을 큐에 넣고 상하좌우 확인/ 큐가 빌 때까지 반복 ( 그림의 넓이 + 1 ) 3. 그림의 최대 넓이와 비교함 #include using namespace std; #define X first #define Y second int board[502][502]; bool vis[502][502]; int n, m; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; int main(void) { ios::sync_with_stdio(0); cin.tie(..