코딩 테스트/Java 문제 풀이

1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정이 문제는 최소신장트리를 구현하는 문제이다.최소신장트리란 가중치가 부여된 연결 그래프에서 모든 정점을 포함하면서, 모든 간선의 가중치 합이 최소가 되는 트리를 말한다. 최소신장트리를 구현하는 방법은 두 가지가 있다. 1. 크루스칼 알고리즘 1) 간선들을 비용을 기준으로 오름차순으로 정렬한다. 2) 적은 비용의 간선부터 시작해 해당 간선이 잇는 두 노드를 연결시킨다. 이때 사이클이 발생하지 않도록 주의해야한다. 3) 모든 노드를 방문할 때까지 반복해 가중치의 합을 구한다.  2. 프림 알고리..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정끝맛일기에서 탈락자가 나오는 경우는 두 가지이다. 1. 이전 단어의 마지막 글자로 시작하지 않은 경우2. 이미 나온 단어를 다시 말한 경우 이 두 가지 조건에 해당하면 그 순간의 유저 번호와 몇번째 사이클이었는지를 반환하면 된다.1. 이전 단어의 마지막 글자로 시작하지 않은 경우를 체크하기 위해 HashSet을 사용하고2. 이미 나온 단어를 다시 말한 경우를 체크하기 위해 이전 단어의 마지막 단어와 현재 단어의 첫번째 단어를 비교했다. 이게 끝이다. 이제 코드를 보자 3. 내 코드impor..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정N/2마리의 폰켓몬을 선택할 때 최대 몇 종류의 폰켓몬을 선택할 수 있는지를 계산하는 문제이다. 해결하는 과정은 다음과 같다. 1. N마리의 폰켓몬 중 중복을 제거한다.최대 몇 종류인지를 알아야하기 때문에 중복된 폰켓몬은 제거해줘야 한다. nums 배열을 순회하며 해시 셋에 데이터를 넣어 중복을 제거해준다. 2. 중복이 제거된 폰켓몬 목록을 통해 최대 몇종류의 폰켓몬을 선택할 수 있는지 파악한다.폰켓몬은 최대 N/2 마리까지 선택할 수 있고 그 N/2 마리는 최대한 다른 종류의 폰켓몬을..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2. 풀이 과정문제에는 다음과 같은 조건이 존재한다.그 중에서도임의의 노드 V의 왼쪽 서브 트리(left subtree)에 있는 모든 노드의 x값은 V의 x값보다 작다.임의의 노드 V의 오른쪽 서브 트리(right subtree)에 있는 모든 노드의 x값은 V의 x값보다 크다.이 부분은 이진 탐색 트리를 의미한다. 즉, 이 문제는 x좌표를 값으로 하는 이진 탐색 트리를 만든 뒤, 전위 순회, 후위 순회를 하면 된다. 하지만 여기서 주의해야 할점이 있다.첫번째는, 트리에는 x좌표의 값이 아닌 노드의 번호..
jaehee1113
'코딩 테스트/Java 문제 풀이' 카테고리의 글 목록 (6 Page)