일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LinkSnap
- CSS
- 너비우선탐색
- cpu
- 프론트엔드개발자
- 백준
- 부트캠프
- 국비지원
- 컴퓨터과학
- 알고리즘
- nodejs
- 패스트캠퍼스
- CS
- 국비지원취업
- html/css/js
- git
- computerscience
- 코딩테스트
- DFS
- 야놀자
- KAKAO
- js
- BFS
- 그리디
- 코테
- 컴퓨터공학
- 자바스크립트
- 호이스팅
- Javascript
- github
- Today
- Total
목록Algorithm (30)
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을 이용해 풀 수 있다. '('을 계속 카운팅하다가 '()'..
https://www.acmicpc.net/problem/3986 문제 유형: stack 문제 요약: 평석이는 단어 위로 아치형 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 쌍을 짓기로 하였다. 만약 선끼리 교차하지 않으면서 각 글자를 정확히 한 개의 다른 위치에 있는 같은 글자와 짝 지을수 있다면, 그 단어는 '좋은 단어'이다. 평석이가 '좋은 단어' 개수를 세는 것을 도와주자. 입출력 예 (입력 / 출력): 좋은 단어와 나쁜 단어 설명: 나쁜 단어는 A끼리, B끼리 연결 시켰을 때, 서로 교차하는 단어를 뜻한다. 좋은 단어는 겹치지 않는 단어이다. 이렇게 보면 회문을 찾으라는 문제처럼 생각할 수 있는데 이런 경우는 회문이 아니어도 중첩되지 않는다. 문제 풀이 및 전략: 예시로 보아 단지 A..
https://www.acmicpc.net/problem/1012 문제 유형: DFS/BFS 문제 요약: 모든 배추를 수호하려면 지렁이를 몇 마리 풀어야 하나? (=좌표 상에 이어져있는 배추 그룹이 몇 개가 있는가?) 입출력 예 (입력 / 출력): 문제 풀이 전략: 1. 배추밭을 맵핑한다. 2. 배추밭에 배추가 있는 좌표를 기록한다. 3. dfs선회로 이어져 있는 배추를 모두 방문처리한다. 4. 이어져 있는 배추 그룹 당 한 번 씩 '카운터 += 1'을 해준다. 내 풀이: et fs = require("fs"); let input = fs.readFileSync("input.txt").toString().trim().split("\n"); const tcNum = input[0]; // 테스트 넘버 co..
https://school.programmers.co.kr/learn/courses/30/lessons/92341 문제 수준: 레벨2 문제 요약: 자동차 요금 계산을 하는 문제. 1. 기본 시간 이내에 나갈 시 기본 요금만 부과. 2. 기본 시간을 초과할 시 n분 당 m원 부과. 3. 나갈 때 계산하는게 아니라 하루의 끝에 총 시간을 정산하는 방식 4. 하루가 지나도록 안 나가면(00:00분이 지나면), 23:59에 출차한 것으로 정산. 입출력 예 (입력 / 출력): fee[0]은 기본 시간, fee[1]은 기본 요금, fee[2]는 단위 시간, fee[3]은 단위 요금 records는 "시간 차번호 입차/출차" 꼴로 되어 있다. 번호판 숫자가 작은 것부터 요금을 배열로 정리해서 내야한다. 문제 풀이 전..
https://www.acmicpc.net/problem/10816 문제 유형: 파라메트릭 서치 문제 요약: 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입출력 예 (입력 / 출력): //입력 10 6 3 2 10 10 10 -10 -10 7 3 8 10 9 -5 2 3 4 5 -10 //출력 3 0 0 1 2 0 0 2 문제 풀이 전략: 해결 아이디어: 해시로 풀기 : 그저 원시적으로 배열을 순회하면서 그 값이 몇 번 나왔는지 세기. 시간복잡도 O(n**2) 이진 탐색으로 풀기: 정렬된 배열이라면 똑같은 값을 가진 첫번째 데이터의 index와..
https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 수준: 레벨2 입출력 예 (입력 / 출력): ["Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"] ["Prodo님이 들어왔습니다.", "Ryan님이 들어왔습니다.", "Prodo님이 나갔습니다.", "Prodo님이 들어왔습니다."] 문제 요약: 사용자가 할 ..
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 수준: 레벨 2, 문제 내용: 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째 사람은 9를 말한다. 10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉 열한 번째 사람은 10의 ..