프로그래머스 25

[프로그래머스 입문][자바] 문자열 정렬하기 (2)

❓문제설명https://school.programmers.co.kr/learn/courses/30/lessons/120911 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.제한사항0  my_string 길이 입출력 예my_stringresult"Bcad""abcd""heLLo""ehllo""Python""hnopty"   입출력 예 #1"Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순..

[프로그래머스 입문][자바] 제곱수 판별하기

❓문제설명https://school.programmers.co.kr/learn/courses/30/lessons/120909 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.제한사항1 ≤ n ≤ 1,000,000입출력 예nresult14419762  입출력 예 #1144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.입출력 예 #2976은 제곱수가 아닙니다. 따라서 2를 return합니다.🔍문제해석어떤걸..

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

❓문제설명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하지 못했다.아마 작업량 배열을 돌..

728x90
반응형