본문 바로가기

전체 글

(62)
[Today's Algorithm] 프로그래머스 - 모음사전 (Java / 완전탐색) 문제 : 프로그래머스 Level 2 (모음사전)사용 알고리즘: 완전탐색 (DFS + 백트래킹) 주어진 모음 A, E, I, O, U만을 사용해 만들 수 있는 길이 5 이하의 모든 단어가 사전에 수록되어 있다.주어진 단어가 사전에서 몇 번째에 위치하는지 구하는 문제다. 처음에는 단어의 순번을 어떻게 계산해야 할지 고민했다. 그러다 사전에 등록되는 단어를 직접 생성하면서 순번을 세는 완전탐색 방식이 괜찮을 거 같아서 그렇게 짜봤다!1. 완전탐색을 선택하게 된 과정 처음에는 주어진 단어의 각 문자가 사전에서 어떤 위치에 있는지 계산하는 방법을 생각했다.하지만 단어를 구성하는 모음의 종류와 길이에 따라 앞에 등장하는 단어의 개수가 달라진다. 따라서 각 문자에 대한 규칙을 직접 계산하기보다는 사전의 단어를 순서대..
[Today's Algorithm] 프로그래머스 - 피로도 (Java / 완전탐색) 문제 : 프로그래머스 Level 2 (피로도) 사용 알고리즘: 완전탐색 (DFS + 백트래킹) 오늘은 프로그래머스의 피로도 문제를 풀었다. 제한된 피로도 안에서 최대한 많은 던전을 돌아야 하는 최적화 문제다.원래는 조건만 보고 풀려고 했는데 순서의 중요성을 깨닫고 완전탐색을 써야겠다고 생각하게 된 문제였다.1. 완전탐색을 선택하게 된 과정- 처음 했던 고민: 처음에는 소모 피로도가 가장 적은 던전이나 최소 필요 피로도가 낮은 던전 순으로 정렬하여 탐색하는 Greedy 알고리즘을 떠올렸다. 하지만 이 문제는 어떤 순서로 던전을 진입하느냐에 따라 이후에 열리는 선택지가 완전히 달라진다. 그렇기 때문에 부분적인 최적의 경로가 전체 최적의 경로를 보장하지 못한다는 것을 알 수 있었다. - 완전탐색(DFS) 선택..
javaScript 공부 1. 변수 선언let 변수이름 = 할당할값; 2. 와 같이 삽입합니다. https://ko.javascript.info/first-steps 자바스크립트 기본 ko.javascript.info참고하면 좋은 사이트 3. async 키워드 async 키워드는 어렵게 생각할 필요없이 await를 사용하기 위한 선언문 정도로 이해하면 된다. 즉, function 앞에 async을 붙여줌으로써, 함수내에서 await 키워드를 사용할 수 있게 된다. 이는 반대로 말하면 await 키워드를 사용하기 위해선 반드시 async function 정의가 되어 있어야 한다는 말과 같다. // 함수 선언식async function func1() { const res = await fetch(url); // 요청을 기다림..