본문 바로가기

JAVA/Coding Test Study151

[Lv.3] 프로그래머스 - 순위 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음엔 문제도 이해가 안 됐다 ㅋㅋ... 예시로 설명하자면 5명의 권투 선수가 대회에 참여했고, 이들의 경기 결과가 result 배열로 주어진다. [4, 3]은 4번 선수가 3번 선수를 이겼다는 뜻이다. 예시를 정리하면 이런 형태가 된다. n행 n열 배열인데, 해당 행의 선수가 해당 열의 선수를 이겼다는 뜻이다. 이 문제의 포인트는 이들의 경기 결과가 서로 연결된다는 점이다. 만약 4번 선수가 3번 선수를 이겼고, 3번 선수가 2번 선수를 이겼다면 4번 선수는 2번 선수도 이긴 것으로 한다. 경기 결.. 2024. 4. 15.
[Lv.3] 프로그래머스 - 섬 연결하기 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs하면 되려나? 했는데... 손도 못 대다가 검색해보니 크루스칼 알고리즘...? 으로 풀이하라고 한다. 위 예시 그래프가 MST라고 하는데, 개념들부터 정리해야 할 것 같다. 신장트리 무방향 그래프 G(V, E)에서 E에 속한 간선들로 사이클을 포함하지 않으면서 모든 정점 V를 연결한 부분 그래프 그래프에서 신장 트리는 여러 형태로 존재할 수 있으며, 특징으로는 N개의 정점을 갖는 그래프에서 신장트리의 간선은 n - 1개이며 사이크를 갖지 않는다는 특징이 있다. MST 최소 비용을 가지는 신장 트리 무방향.. 2024. 4. 15.
[Lv.3] 프로그래머스 - 등굣길 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 일단 이 문제... 행과 열이 반대다. m이 열, n이 행을 나타내고 그림 또한 반대로 생각해야 한다. 예시를 이렇게 바꿔서 봐야 풀 수 있다... 이걸 첨엔 몰랐어서 뭐지 싶었던 ㅜㅅㅜ 참고한 블로그⬇️ [프로그래머스] 등굣길 - JAVA 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학 born2be.. 2024. 4. 15.
[Lv.3] 프로그래머스 - 정수 삼각형 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음 풀었던 방법은 다음과 같다. triangle의 맨 위부터 아래까지 큰 수들을 더해나간다. triangle의 맨 왼쪽 줄은 쭉 더하기만 하면 된다. e.g. 7-3-8-2-4 triangle의 맨 오른쪽 줄도 마찬가지로 쭉 더하기만 하면 된다. e.g. 7-8-0-4-5 나머지 부분은 자신의 왼쪽 위 수와 오른쪽 위 수 중 큰 수를 더해야 한다. e.g. 7 자리가 가능한 큰 수가 되려면 8과 1 중 더 큰 수를 더하면 된다. 계산이 끝난 triangle의 마지막 줄에서 가장 큰 수를 반환한다. .. 2024. 4. 15.
[Lv.2] 프로그래머스 - 롤케이크 자르기 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음에는 int 배열을 2개 만들어서 철수와 동생의 케이크를 만들어주고, 그 안의 토핑 개수를 세어 서로 같으면 answer++ 해주도록 코드를 만들었다. 푼지 조금 돼서 기억은 안 나지만 실패했던 것 같다. 그래서 참고한 블로그⬇️ [JAVA] LV2. 롤케이크 자르기 롤케이크 자르기문제설명철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이 velog.io 해시맵을 2개 만든다. 한 해시맵에 .. 2024. 4. 15.
[Lv.2] 프로그래머스 - 점프와 순간 이동 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음에는 가능한 경우의 수를 다 해봐야 하나 싶었다. 하지만 제한 사항을 보니 N은 10억 이하의 자연수... 도저히 감이 안 잡혀서 참고하여 풀이하였다. [프로그래머스] 점프와 순간 이동 (Java) 프로그래머스 점프와 순간 이동개인적으로 이런 문제가 정말 어렵다. 문제를 처음 훑어봤을 때 BOJ 숨바꼭질 유형의 문제라고 생각했고 BFS, DFS를 적용해보려 노력했지만최악의 경우가 10억이고 velog.io 점프는 할 때마다 건전지가 사용되니 건전지를 최소로 사용하기 위해서는 점프보다 순간이동을 많.. 2024. 4. 15.