14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 다른 분들이 훨씬 더 간단하게 푼 것 같습니다. 양쪽 벽 중 짧은 쪽을 선택하여 세로로 빗물 양을 세는 방식이더라고요. 저는 가로로 세는 방식으로 풀었는데, 코드가 좀 복잡하지만 여기에 남깁니다. POINT 블록 좌표를 따로 저장하여 왼쪽 아래 블록부터 오른쪽 위 블록 순서대로 검사한다. 각 블록에서 출발하여 오른쪽 방향으로 검사하며 빗물 양을 카운트한다. 검사하다가 다른 블록을 만나면, 이제까지 센 빗물 양(count)을 answer 변수에 저..
18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net POINT 조합 Combinations 빈 좌표 배열에서 3개를 뽑는 조합을 사용하여, 장애물을 세운다. DFS 장애물을 세운 후, 선생님을 상하좌우로 한 칸씩 계속 이동시킨다. 장애물을 만나거나 벽에 다다르면, 다른 방향 감시하기 학생을 만나면, 감시를 종료하고 결과("NO") 출력하기 문제풀이 const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().s..
14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net POINT DFS 주어진 연산자를 순열 알고리즘을 사용해서 풀었으나, 중복된 연산이 많고 비효율적이라 메모리 초과가 발생한다. → 한 연산에서 시작하여 나머지 연산을 수행하는 모든 경우를 구하기 위해 DFS를 사용한다. -0 JS에서는 -0이 출력이 된다. 백준에서 -0은 0이 아니므로 오답이다. 결과가 -0이면 0으로 바꿔주자. 문제풀이 const fs = require("fs"); const input =..
- Total
- Today
- Yesterday
- node.js
- 프로그래머스
- rn
- Unsplash
- DP
- 프로젝트
- 키워드밑줄
- dfs
- 코어자바스크립트
- backtracking
- React
- 코드분석
- 파이썬
- 비동기
- 코테
- React.js
- python
- Spotify
- 백준
- fetch
- Python3
- p5js
- React-native
- flutter
- 감시피하기
- 판례암기
- 다이나믹프로그래밍
- 동기
- 웅진IT
- 코딩테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |