코테연습

문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 특정 노드에서 다른 모든 노드로 가는 최단 경로를 구할 수 있는 다익스트라 알고리즘을 이용하는 문제이다.(다스트라 알고리즘은 추후 정리할 것이다) 1번(특정 노드)에서 출발해 각 번호까지의 코스트를 적립해 주어진 제한 코스트를 넘지 않는 번호의 갯수를 구하는 문제인데, 이 문제에서 BFS와 우선순위 큐를 이용해 다익스트라 알고리즘을 구현했다. 순수 BFS는 가..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 순열 문제로 접근했다. 처음에는 직접 순열을 전부 구해 풀이를 진행했지만, 그렇게 하면 20! 만큼 구해야 되서 시간 초과가 발생했다. 그래서 참고한 글에서 주어진 k를 이용해 순서에 올 숫자를 구하는 방식을 이용한 풀이를 참고했다. 참고한 코드 const solution = (n, k) => { let arr = Array.from({length: n}, (..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 숫자를 분석해 풀어가는 문제이다. 물론 DFS로 풀 수 있다. 숫자가 5보다 작은 경우 그대로 횟수를 더해주고, 큰 경우는 위에 자리 숫자에 1을 더한 뒤 현제 자리에 10-(현제수)를 위치해준다. 그리고 현재 수가 5인 경우는 위에 수가 5보다 큰지 작은지를 파악해 준뒤 예외를 주어야 한다. 완성된 코드 const solution = (storey) => { let ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제를 처음 봤을 때는 DFS를 이용해 풀어볼까 했지만, 반복문을 이용한 구현으로 푸는 것이 좋을 것 같아 구현으로 풀어봤다. 연산자 조합은 총 6개가 되며 expression은 숫자와 연산자들 끼리만 구분해 주고 연산자 우선순위 대로 expression에서 분리된 연산자를 순회하며 해당 인덱스에서 계산되어질 숫자들을 계산후 다시 숫자 배열에 할당해준다. 이렇게 마지..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이문제는 모든 전력망(노드)를 돌며 경우를 따져야 하므로 DFS와 BFS를 사용해도 된다. 나는 BFS를 사용했다. BFS 함수는 큐에 방문할 노드, visited에 방문한 노드를 저장해 주고 모든 경우를 탐색한다. 내 생각으로는 BFS함수에 각 시작점과 제외점을 주고 시작점과 제외점이 끊어졌다는 것을 가정하고 시작점과 연결된 노드의 갯수를 구한다. 그리고 반복문으로 w..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 해시 문제라 그랬는데 나는 처음에 해시로 풀지 않는다. 해시로 풀게되면 객체를 선언해 key가 폰켓몬 넘버, value는 갯수를 넣어줘 객체를 만들고 계산해주면 된다. 완성된 코드 const solution = (nums) => { const n = nums.length / 2; const map = new Set([...nums]); return map.size > n ..
58청춘
'코테연습' 태그의 글 목록 (3 Page)