일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 야놀자
- 코테
- 프론트엔드개발자
- 너비우선탐색
- cpu
- github
- CS
- html/css/js
- 자바스크립트
- 코딩테스트
- CSS
- 그리디
- js
- 알고리즘
- DFS
- BFS
- git
- 국비지원
- 부트캠프
- 컴퓨터공학
- LinkSnap
- KAKAO
- 호이스팅
- computerscience
- nodejs
- 백준
- Javascript
- 국비지원취업
- 컴퓨터과학
- 패스트캠퍼스
- Today
- Total
목록알고리즘 (4)
My Boundary As Much As I Experienced
https://www.acmicpc.net/problem/27961 27961번: 고양이는 많을수록 좋다올바른 행동 순서가 될 수 있는 하나의 예시는 아래와 같으며, $4$번보다 더 작은 행동 횟수로 $6$마리의 고양이를 마도카의 집에 들이는 것은 불가능하다. 초기 상태($0$마리) $\rightarrow$ 생성www.acmicpc.net 문제 수준:브론즈1 문제 요약:마도카의 목표는 고양이 N마리를 생성하는 것이다.마도카가 쓸 수 있는 마법은고양이 1마리 늘린다.현재 있는 고양이 수의 일부 또는 전체를 복사한다. (현재 있는 고양이가 M 마리일 때 1~M 마리 복사)목표 N마리가 주어졌을 때 최소 몇 번의 생성마법으로 만들 수 있는가? 입출력 예 (입력 / 출력): 문제 풀이 전략:1. 처음 0마리..
https://www.acmicpc.net/problem/11729 문제 수준: 실버1, DFS 문제 요약: 유명한 하노이탑 문제이다. 1번 영역에서 3번 영역으로 모든 탑을 옮기면 되는 문제이다. 조건은 2가지 있다. 1. 한 번에 1개의 디스크만 옮길 수 있다. 2. 자신보다 작은 디스크 위에 더 큰 디스크를 올려놓을 수 없다. 이때 탑의 높이가 주어지면 최소 몇 번의 이동으로 3번까지 옮길 수 있는지를 구하여라. 입출력 예 (입력 / 출력): 문제 풀이 전략: 결국 가장 아래에 깔린 가장 큰 디스크가 3번 영역에 도달을 해야 나머지를 옮길 수 있다. 그 말인 즉슨 N개의 디스크가 있다면 N-1개의 디스크를 2번 영역(보조영역, Auxiliary)에 옮겨놔야(step1 -> step2) 1번의 맨마지..
https://www.acmicpc.net/problem/1992 문제 수준: 실버1 문제 요약: 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리라는 방법이 있다. 주어진 영상이 모두 흰색이면 '0'을 출력하고, 모두 검은색이면 '1'을 출력한다. 주어진 영상이 흰색과 검은색이 섞여있으면, 화면을 4등분으로 나눠서 괄호 안에 좌상단, 우상단, 좌하단, 우하단 순서로 숫자를 기입한다. 자세한 예는 아래와 같다. 위의 그림에선 4x4 픽셀에 우측 상단에만 흰색이고 나머지 영역은 검은색이다. 이는 (0111)이라고 표현할 수 있다. 이런 경우에는 어떻게 표기할까? 좌상단을 기준으로 봤을때도 한 픽셀이 검은 영역이 되어 깔끔하게 흰색이 아닌 상황이다. 이럴땐 좌상단을 기운으로 또 한번 4분면을 나눠 괄호..
https://www.acmicpc.net/problem/10799 문제 유형: 스택 문제 요약: '()'되어 있는 곳이 레이저로 자르는 곳. 그 이외의 괄호는 한 판때기의 시작점 혹은 끝점을 나타낸다. 레이저로 자른 판때기는 총 몇 개가 나오는가? 입출력 예 (입력 / 출력): 총 몇 개인지를 출력값으로 내보낸다. 문제 풀이 전략: 판때기의 시작점인 '('은 판이 현재 열마나 깔려있나를 보여주는 갯수이다. 판때기의 끝점인 ')'은 깔려있는 칸이 하나 줄어든다는 뜻이다. 그리고 잘리고 남은 나머지 조각 1개가 발생한다는 뜻이다. 레이저를 뜻하는 '()'은 현재까지 판때기가 얼마나 깔려있는지를 카운팅하라는 뜻으로 볼 수 있다. 이 문제는 stack을 이용해 풀 수 있다. '('을 계속 카운팅하다가 '()'..