반응형

2024/09/03 3

백준 12865 : 평범한 배낭 - javascript(dp)

문제 출처 https://www.acmicpc.net/problem/12865 정답 풀이 풀이 보니까, dp로는 유명한 문제라는데 아직도 못 푸는 나 자신 머리 한대 때리고 시작하자.  이해하면 코드는 간단하나, 이해하기 생각보다 빡셌다. 다른 분들의 블로그를 봐도 잘 이해가 안갔고, 그래서 내가 이해한 방식대로 글을 작성해볼 예정이다.  ## dp 그래프 생성 아래와 같이 2차원 그래프 dp를 생성해줄 것이다. 세로 의미: 각 물건의 무게와 가치 가로 의미: 준서가 버틸 수 있는 무게  그렇다면 dp 그래프의 의미는 어떻게 될까? 각 물건을 넣고, 안넣고에 따라서 + 준서의 배낭 각 무게에 따라의 '가치'를 계속 update 해줄 것임. (이해가 안가도 아래 쭉 예시를 읽어보자 !) ## 초기화 아래 ..

백준 16234: 인구 이동 - javascript(bfs)

문제 출처 https://www.acmicpc.net/problem/16234 정답 풀이 bfs 알고리즘을 활용했다.  - 일단 주어진 board의 전체를 돈다.   - 이때 한번 방문한 위치는 안간다.  - 모든 board를 다 돌았을 때 그 어떤 값도 변경되지 않는다면 반복문에서 break를 한다.  - 한번 방문한 곳에서 bfs 함수를 돌린다.    - 이때 arr 배열에 조건에 맞는 (L 이상 R이하 차이) 위치들을 push 한다.  - arr의 위치들의 board 값을 다 더하고 평균을 내서 새롭게 board에 값을 넣어준다.  정답 코드 const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')cons..

백준: 인구 이동 - 실수 축제 (split, i 사용, queue 초기 값 설정, checked )

실수1. split(' ') 작성 안함.백준에서는 치명적인 실수였다.  실수2. 변수의 재사용 (x,y, i, d) 진짜 이런 실수는 하면 안된다. 매개변수를 i,j 로 받아놓고, 4가지 방향으로 뻗어줄 때 변수를 i로 작성했었다.  이제 매개변수로 받는 값은 x,y로 해야한다. 또 방향 전환 하는 변수는 d로 설정하자. 이래야 다음에는 실수를 하지 않을 것 같다.  실수3. queue의 초기값에 대하여queue의 초기값에 대하여 설정해야 할 것들 checked  나 arr에 push 하기 이런건 해당 부분에서 처리해주자. 실수4. checked - checked를 true로 설정해야 한다. 이걸 계속 false 로 했었음;;

반응형