자바 23

[프로그래머스 입문][자바] 볼 던지기

❓문제설명https://school.programmers.co.kr/learn/courses/30/lessons/120843 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다.공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그 다음 사람에게만 던질 수 있습니다.친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.제한사항2  numbers의 길이 0  k numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다..

[프로그래머스 입문][자바] 구슬을 나누는 경우의 수

❓문제설명https://school.programmers.co.kr/learn/courses/30/lessons/120840 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.제한사항1 ≤ balls ≤ 301 ≤ share ≤ 30구슬을 고르는 순서는 고려하지 않습니다.share ≤ b..

[프로그래머스 입문][자바] 진료순서 정하기

❓문제설명진료순서 정하기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 비슷한 문제를 여럿풀었지만 자꾸 방법을 까먹길래, 입문레벨이지만 기억하기 위해서 글을 작성한다.🔍문제해석어떤걸 풀어야 할까?응급도가 적힌 배열이 주어지면 각 응급도에 따라 진료받을 수 있는 순위를 배열로 나타내라. 큰  수 일수록 우선순위가 높다.단, 진료받을 수 있는 순위는 배열에서 응급도가 위치한 인덱스와 동일한 인덱스에 배치되어야한다.예시emergencyresult[3, 76, 24][3, 1, 2][1, 2, 3, 4, 5, 6, 7][7, 6, 5, 4, 3, 2, 1][30,..

[프로그래머스 Lv3][자바] 단속카메라

❓문제설명단속카메라 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔍문제해석어떤걸 풀어야 할까?차량의 이동경로가 주어지면 모든 차량을 촬영할 수 있는 단속 카메라의 최소 갯수를 구하라.차량의 이동경로는 이차원 배열로 주어진다. ex ) i번째 차량 경로 시작지점, 끝난시점 [-20, -15 ]카메라가 시작, 끝 지점을 포함하여 -20 ~ -15 사이에 있다면 차량과 만난걸로 간주한다.🧐문제풀이문제 풀이 구상감시 카메라의 최소 갯수를 구하려면 최대한 많은 차량들이 지나가는 공통 구간을 구해야한다고 생각했다.이동경로의 공통 부분을 구하고, 그 부분을 벗어나는..

[프로그래머스 Lv3][자바] 섬 연결하기

❓문제설명섬 연결하기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🔍문제해석어떤걸 풀어야 할까?n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 구하자int n과 이차원배열 costs이 주어진다.양방향으로 이동 가능하고, 연결할 수 없는 섬은 주어지지 않는다.🧐문제풀이알고리즘 선택최소의 비용으로 모든 노드를 방문해야하기에 그리디알고리즘 > 프림 알고리즘 선택* 프림 알고리즘정의: 프림 알고리즘은 특정 그래프에서 최소 신장 트리(MST)를 찾기 위한 그리디 알고리즘..

[프로그래머스 Lv3][자바] 가장 먼 노드

❓문제설명가장 먼 노드 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔍문제해석어떤걸 풀어야 할까?노드와 간선에 대한 정보가 담긴 2차원 배열이 주어지면,노드 1 부터 가장 먼 노드가 몇 개 있는지 구해보자.간선은 양방향이다.🧐문제풀이문제 풀이 구상간선 정보가 있으니 인접리스트를 생성한다.노드를 queue에 넣고 하위 노드를 순회하면서, 상위 노드로부터 누적된 거리 + 1을 별도로 저장한다.그럼 노드별 거리를 저장한 배열에서 가장 큰 수가 가장 먼 거리고, 그 수를 가지고 있는 노드의 개수를 카운트 한 것이 정답이다. 알고리즘 선택간선 정보가 있기에 인접..

[프로그래머스 Lv4][자바] 도둑질

❓문제설명 도둑질 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🔍문제해석어떤걸 풀어야 할까?이렇게 원형으로 집들이 배치되어있을때, 도둑이 집을 털어 가장 많이 훔칠 수 있는 돈을 구하라.단, 각 집들은 인접한 집들과 방범장치가 연결되어있기 때문에 두 집을 연달아서 털게 되면 경보가 울린다.🧐문제풀이문제 풀이 구상https://school.programmers.co.kr/questions/12213 위 게시글의 힌트를 얻어 풀이를 생각해보았다.원형으로 구성되어있는데 인접한 두 집은 털지 못하니, 1. 첫번째 집을 털고 마지막 집은 털지 않았을때2. 첫번째 ..

[프로그래머스 Lv3][자바] 야근 지수

❓문제설명야근지수 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  🔍문제해석어떤걸 풀어야 할까?퇴근까지 남은 시간 int와 해야할 일 int 배열이 주어진다.야근을 한 직장인의 야근 피로도를 구해라.야근 피로도는 퇴근한 시점에서 남은 일들의 작업량을 제곱하여 더한 값이다. 🧐문제풀이문제 풀이 구상1차 보자마자 DFS를 떠올랐다. 남은 시간과 남은 작업량을 계속 넘기면서 재귀함수를 호출하는 식으로 말이다.빠르게 문제를 풀었고, 주어진 예시로 테스트 했을때에는 모두 정답이 리턴되었다.하지만 제출을 했을때 너무 느려서 pass하지 못했다.아마 작업량 배열을 돌..

[프로그래머스 Lv3][자바] 양과 늑대

❓문제설명양과 늑대 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔍문제해석어떤걸 풀어야 할까?이진 트리가 주어지고, 각 지점 마다 양 또는 늑대가 있다.각 지점을 들리면 양 또는 늑대의 수가 더해진다.만약 늑대의 수가 양과 같거나 커진다면 모든 양은 늑대한테 잡하먹힌다.이럴때 최대한 많이 모을 수 있는 양의 수를 구하라.🧐문제풀이문제 풀이 구상처음에는 단순한 dfs문제라고 생각하고 문제를 풀었으나 계속 내가 도출한 값과 정답이 맞지 않았다.무슨 문제일까 하고 지문을 자세히 보니, 글쎄 이동을 할때 현재 지점의 하위로만 갈 수 있는게 아니라 아예 다른 노..

[프로그래머스 Lv3][자바] 거스름돈

❓문제설명거스름돈 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔍문제해석어떤걸 풀어야 할까?잔돈 금액과 화폐종류가 주어지면 화폐들을 이용해 잔돈을 거슬러 줄 수 있는 모든 방법을 구해라너무 큰 수가 나올 수 있으니 1,000,000,007을 나눈 나머지를 반환하라.🧐문제풀이문제 풀이 구상배열을 만들고 칸마다 해당 인덱스의 금액을 만들기 위해서는 몇개의 방법이 있는지 담는다.그 계산이 모두 끝난 후 배열[잔돈] 의 값을 정답으로 리턴한다.방법의 갯수를 찾기 위해서는 아래와 같이 생각해보았다.오름차순으로 화폐 한개씩 계산을 해본다. (기존 화폐들로 계산된 ..

728x90
반응형