LV3

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150367# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제를 읽어도 전혀 이해가 가지 않았다. 주어진 이진트리가 뭐지? 무슨 규칙이 있는 건가? 싶어서 무작정 문제에 대한 예시를 그려보았다. 우선 문제에 대한 예시로 나온 숫자들을 2진수로 바꾸면 다음과 같다. 그리고 문제에서 포화 이진트리로 생성해야 했기에, 0을 채워줬다. 포화 이진트리는 깊이가 n일때 노드의 개수는 2ⁿ -1으로 맞춰줘야 한다. 따라서 42와 63 모두 깊이가..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 전형적인 BFS 문제이다. BFS 문제에서의 난이도는 방문배열을 3차원배열로 해야 하는지, 2차원 배열로 해야 하는지에 따라 나뉜다고 생각한다. 해당 문제는 좌표로 들어왔던 도로의 방향을 기억해줘야 한다. 그래야 코너를 만들 때 계산을 해 줄 수 있기 때문이다. 그리고 도착지점에 도착할 경우 그때 경주로 건설에 사용한 비용의 최소값을 반환해야 한다. 따라서 나는 우선순위큐를 이용해..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 초기에는 N*N으로 탐색을 해서 요구사항에 맞는 짧은 구간, 길이가 같으면 시작 구간이 더 작은 구간을 함수를 통해서 반환했다. 정확성 테스트는 쉽게 통과했지만, 효율성 테스트에서 시간초과를 만날 수 있었다. 어쩐지 LV3 치고 문제가 너무 쉬웠는데, 아마 배열을 탐색하는 과정에서 N*N 알고리즘을 사용해서 그런 것 같다. 1차원이고, 완전 탐색을 피하기 위한 알고리즘으로 투포인터..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제를 보자마자 떠올랐던 생각은 다익스트라..? 를 사용하는 것이라고 생각했다. S에서 출발해서 A와 B가 가장 적게 낼 수 있는 택시비의 요금을 구해야 한다. 하지만 까다로운 점은 A와 B가 따로따로 타는 경우고 고려해서 정말 어려웠던 문제였던 거 같다. 우선 나는 다익스트라 알고리즘을 통해서 정점마다 최소 거리를 구하려고 했다. 우선 A와 B가 따로따로 택시를 타는 경우는 S에..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 풀고 나서 Lv3가 맞나..? 싶은 문제였다. 인접행렬을 사용해서 풀면 쉽게 풀 수 있는 문제지만 Lv3라서 뭔가 복잡하게 풀어야 될 거 같아서 나름대로 복잡하게(?) 풀었다. 문제에서 요구하는 바는 연결할 수 있을 만큼 최대한으로 연결하고, 연결된 그룹의 수를 구하는 것이다. 여러 가지 방법이 있겠지만, 나는 노드를 구현해서 풀어보고 싶어서 해당 방식으로 풀었다. 우선 크게 노드..
📕문제 https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔎문제 풀이 우선 문제 이해하는데 조금 오래 걸렸습니다. 제가 이해한 내용을 설명하자면, 변수 n, t, m이 있습니다. n은 운행하는 버스의 수, t= 배차 간격, m= 탑승할 수 있는 인원의 수입니다. timetable은 이제 기다리는 크루원들의 도착시간입니다. 그림이 이상하더라도 양해 부탁합니다.. ㅎ 🙏 위 그림은 입출력예제 1번입니다. 여기서 가장 기본이 되는 정보는 09:00에 ..
재한
'LV3' 태그의 글 목록