일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료 구조
- styled-components
- js
- HTML5
- 모던 자바스크립트 튜토리얼
- 오블완
- three.js
- 토이 프로젝트
- 개발 회고
- 코딩일기
- 엔트리포인트
- REACT
- 수학
- 해시를 사용한 집합과 맵
- 회고
- poiemaweb
- State
- 티스토리챌린지
- 백준
- react-three/fiber
- 시뮬레이션
- 세그먼트 트리
- 자바스크립트
- Next.js
- 자바
- JavaScript
- 구현
- 기본 문법
- 프론트엔드
- 브루트포스
- Today
- Total
목록백준 (10)
코딩하는 고릴라

🦍 문제https://www.acmicpc.net/problem/2263 🐈 문제 풀이1. 무엇을 구해야 할까?이진트리의 중위 순회와 후위 순회 결과값이 주어졌을 때, 이를 바탕으로 전위 순회 결과를 구해야 한다.2. 어떻게 구해야 할까?중위 순회, 후위 순회 결과에서 규칙을 찾아내, 재귀적으로 탐색하게끔 하면 전위 순회를 구할 수 있다.3. 특별히 고려해야 할 사항은? 주어지는 n 값(노드의 개수)이 최대 100,000이다. Node.js 환경에서는 콜스택의 최대 크기가 대략 10,000이므로, 재귀함수를 통해 풀이하면 Maximum call stack size exceeded 에러를 만날 수 있다. 따라서 스택을 활용해 재귀함수를 활용한 것과 같은 동작을 하게끔 해야 한다.중위 순회, 후위 순회..

🦍 문제 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? 주어진 입력값을 토대로 괄호를 적절히 쳐 최소값의 결과를 만들어야 한다. 2. 어떻게 구해야 할까? - 주어진 문자열에서 부호, 숫자를 적절히 파싱한다. - 더하기, 빼기 연산만 있는 식에서 결과값을 최소화 하기 위해 어떤 부분에 괄호를 쳐야 할 지 고려해본다. -> 빼는 수를 크게 할 수록 결과값이 작아지므로 뺄셈 부호와 뺄셈 부호 사이의 식에 괄호를 쳐주면 된다. -> 이는 조금 더 나아가면 첫 뺄셈 부..

🦍 문제 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? - 컨베이어의 회전, 로봇의 이동, 로봇을 컨베이어 위에 올리는 작업을 한 단계로 하여 몇 단계를 거쳐야 컨베이어 벨트 중에서 내구도가 0인 칸의 개수가 K개 이상이 되는지를 구해야 한다. 2. 어떻게 구해야 할까? - 컨베이어 벨트의 상태를 구현한 후, 해당 상태를 조작하는 여러 함수들을 작성해 구할 수 있다. - Conveyor라는 클래스를 선언한 후, 내부에서 상태와 함수들을 작성하였다...

🦍 문제 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? - 주어진 도형을 회전, 뒤집으면서 도형이 놓인 칸에 쓰여있는 수의 합의 최댓값을 구해야 한다. 2. 어떻게 구해야 할까? - 배열의 (0, 0) 좌표에서부터 (N, M) 좌표까지 순회하며 각 도형들을 놓고, 회전하고, 뒤집어보며 모든 숫자를 셈한다. - 각 도형들마다 숫자를 셈하는 함수들을 재귀함수(DFS)로 구현하여 사용했다. 1. 직선 모양 2. Z 모양 3. T 모양 4. L 모양 5. 사각형 2.1. 직선..

🦍 문제 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? - 미세먼지의 확산, 공기청정기의 공기 순환 작업을 반복하며 주어진 t초 이후, 방에 남아있는 미세먼지의 양 2. 어떻게 구해야 할까? 2.1. 미세먼지 확산 2.2. 공기청정기 공기 순환 위 두 기능에 대한 함수를 정의한 후, [미세먼지 확산 -> 공기청정기 공기 순환]의 흐름을 t초간 반복시키면 된다. 2.1 미세먼지 확산 /** * 먼지 확산 알고리즘 * @param {Object} idx : 공기청정기의 ..

🦍 문제 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? - 문제에 주어진 규칙에 따라, 생성자가 없는 숫자를 셀프 넘버라고 하며, 1 ~ 10,000 까지의 숫자 중 셀프넘버인 숫자들만 한 줄에 하나씩 출력해야 한다. 2. 어떻게 구해야 할까? - 시간 제한은 1초이며, 1부터 10,000까지 반복문을 돌린다 하더라고 시간제한의 우려는 없다. - 1부터 10,000까지 반복문을 돌며, 해당 숫자를 생성자로 가지는 숫자..