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

🦍 문제 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까지 반복문을 돌며, 해당 숫자를 생성자로 가지는 숫자..

🦍 문제 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? - 입력되는 명령에 따라 주사위를 굴리며 이동시켜야 하고, 그 때마다 주사위의 윗면에 적혀져 있는 숫자를 출력해야한다. 2. 어떻게 구해야 할까? 1) 주사위의 각 면에 적혀져 있는 숫자들을 기록하기 위해 배열을 사용하였다. // 상 : 주사위의 윗면, 하 : 주사위의 바닥면 // lrud[0] : {상, 서, 하, 동} - 동서 방향으로 이동시 사..

🦍 문제 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 🐈 문제 풀이 1. 무엇을 구해야 할까? 주어진 숫자들의 빈도를 계산한 후, 빈도수가 높은 숫자들부터 순서대로 출력한다. 빈도수가 같다면 먼저 나왔던 숫자들을 우선적으로 출력한다. 2. 어떻게 구해야 할까? 1) 빈도수를 구해야 한다. - 보통 빈도수를 구하는 방법으로는 배열을 사용하는 방법을 떠올릴 수 있지만 입력되는 수의 최댓값이 10억이기에 HashMap 자료구조를 이용하였다. - key 값으로는 입력받은 숫자를, value로는 빈도수를 저장하였다. - HashMap에 저장된 값을 빈도수(..

🦅 문제 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 🦍 문제 풀이 1. 무엇을 구해야 할까? 집합 A, B에 대해서 대칭 차집합 원소의 개수를 구해야한다. 여기서 대칭 차집합은 각각의 집합에 대한 차집합의 합집합이다. (A-B) U (B-A) 2. 어떻게 구해야 할까? 입력받은 두 집합의 값들을 각각의 컬렉션에 담은 후, A가 가진 값들을 B가 가지고 있는지, 그리고 그 반대의 경우를 확인해주며 원소의 개수를 카운트해주면 된다. 3. 특별히 고려할 사항은? 1) 컬렉션의 선택 - 단순히 A 집합의 ..

🐒 문제 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 🐈 풀이 1. 어떤 결과값을 도출해야 할까? 상어가 움직일 수 있는 모든 경우의 수를 고려하여, 먹을 수 있는 물고기 번호의 합의 최댓값을 구해야 한다.모든 경우의 수를 고려함을 보아 백트래킹 알고리즘을 통한 접근이 필요할 수 있음을 알 수 있다. 2. 어떻게 도출해낼까? 주어진 문제의 흐름을 따라가보면, [물고기의 이동 -> 상어의 이동] 이 계속해서 반복한다. 따라서, 우리는 물고기의 이동과 상어의 이동을 구현해야한다. 위 사항들을 ..

🐒 문제 7626번: 직사각형 첫째 줄에 양의 정수 N이 주어진다. (1 ≤ N ≤ 200,000) 다음 N개 줄에는 공백으로 나누어진 네 값 "x1, x2, y1, y2"가 주어진다. 이 값은 직사각형 [x1,x2] × [y1,y2]를 나타낸다. 모든 좌표는 0보다 크거나 www.acmicpc.net 🐈 풀이 1. y좌표 압축 2. x축 정렬 후 x축 방향으로 순차적으로 스위핑 3. 스위핑하며 직사각형의 세로선 활성화 및 비활성화를 통해 좌표상의 직사각형 넓이를 구한다. 1. 주어지는 x, y 좌표의 최대값이 매우 커 이를 바로 활용해 트리를 만들 수 없다. 따라서 좌표 압축을 필요로 한다. 2. 스위핑 기법을 통해 문제풀이를 진행하되, 과연 어떤 값을 어떻게 저장하고 꺼내와야 하는지의 아이디어가 중요..