분류 전체보기

문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17683# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 구현이 주가되는 문제이며, 주어진 입력을 얼마나 잘 다룰 수 있는가를 확인하는 문제이다. 나는 시작 시간과 끝나는 시간을 계산해서 총 플레이 타임을 구하고, 이름, #이 붙은 코드를 소문자로 바꿔서 저장했다. 이 문제에서 중요한것은 #이 붙은 코드를 대체 가능한 문자(소문자)로 대체해 계산해주는 것인거 같다. 내가 위의 방식으로 안풀었을 때는 60점을 받았다..
· CS
1. 정의 우선 DFS와 BFS의 정의부터 간략하게 다시 알고 가도록 하자. DFS 깊이 우선 탐색이라는 이름에 맞게 탐색할 노드를 깊이를 우선으로 탐색하는 알고리즘이다. DFS의 구현은 Stack 또는 재귀적인 특징을 이용해 구현한다. BFS 너비 우선 탐색은 넓게 바로 아래 하위 노드를 모두 넓게 탐색한 뒤 그 아래의 노드들을 탐색하는 알고리즘이다. 큐를 이용해 탐색을 관리한다. 2. 구분 방법 그렇다면, 실제 코테나 문제를 해결할 때 무엇을 언제 사용해야하나? 우선 그 문제를 분석해봐야한다. 그래프 탐색에서 모든 정점을 방문하는가? DFS와 BFS 둘 다 가능하다. 경로의 특징을 저장 혹은 조합, 순열을 구해야 하는 문제인가? 고로타면 DFS를 이용하는게 유리하다. 최단 경로, 최단 거리를 구해야 ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 BFS 알고리즘을 이용해서 풀었다. BFS로 풀이한 까닭은 혹시 모르는 시간 초과 에러를 방지하기 위함이다. DFS로 풀이하게 되면 갈래길에서 다시한번 노드를 역행하는 방식이 걱정되어서 이다. 방문했던 노드를 기록하기 위해 0으로 채워진 2차원 배열과 bfs 함수 내부에 검증할 섬의 숫자를 담는 큐, 머물 수 있는 일 수를 선언해 큐 내부가 비어질때 까지 진..
문제 설명 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 풀이 방법 미로탐색(최단거리 탐색)은 BFS의 대표적인 문제 풀이 방법이다. 이전에 풀었던 문제중 비슷한 문제를 참고해 문제를 풀었다. 코드 const path = __dirname + '/예제.txt'; // /dev/stdin let input = require('fs').readFileSync(path).toString().trim().split('\n').map(e => e.split(' ').map(e ..
정의 자바스크립트의 모든 객체는 자신의 원형(Prototype)이 되는 객체를 가지며 이를 프로토타입이라 한다. 보이지 않는 속성인 [[Prototype]]이 자신의 프로토타입 객체를 참조한다. 이를 __proto__라는 속성으로 참조할 수 있으나 이는 비표준이고 모든 브라우저에서 동작하지 않기에 실사용은 지양하자. .prototype과 [[Prototype]] 모든 객체는 은닉 속성인 [[Prototype]]을 갖는데 특별히 함수 객체는 접근할 수 있는 속성인 prototype을 갖는다. 프로토타입이 햇갈리는 이유가 여기서 나온다. 이름이 비슷해 관계를 명확하게 파악하기 쉽지 않다. [[Prototype]] 이란? 자신의 프로토타입 객체를 참조하는 속성 .prototype 이란? new 연산자로 자신을..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 이 문제는 주어진 메뉴들을 2가지 이상의 조합을 가지고 가장 많이 선택된 조합을 구하는 것이 중요한 문제라 생각했다. 하지만 문제 설명을 보면 같은 메뉴는 한 코스에 2번 이상 반복되면 안되고, 순서가 오름차순으로 해야 하기 때문에 메뉴 조합을 구할 땐 순열을 이용해 구해야한다. 메뉴의 갯수별로 코스 조합을 나눠서 구하고 그 조합의 길이가 구해야하는 길이와 같고, 주문된 횟수..
58청춘
'분류 전체보기' 카테고리의 글 목록 (43 Page)