본문 바로가기
반응형

PS 문제 풀이/HackerRank15

[HackerRank] Cut the sticks (Java) 출처: https://www.hackerrank.com/challenges/cut-the-sticks/problem ① 막대기들에서 가장 작은 길이를 구한다. ② 위에서 구한 길이로 각 막대길의 길이를 잘라낸다. 길이가 0 이하이면 배열(리스트)에서 제외 ③ 남은 막대의 개수를 결과로 출력하고, 리스트에는 남은 막대기의 길이를 표시 ④ 위의 과정 ①~③ 반복하며 남은 막대기가 없어질 때까지 반복 Input 6 5 4 4 2 2 8 Output 6 4 2 1 - 1단계) [5 4 4 2 2 8]에서 가장 작은 길이 = 2 | 자른 막대기 개수 = 6개 - 2단계) [3 2 2 _ _ 6]에서 가장 작은 길이 = 2 | 자른 막대기 개수 = 4개 - 3단계) [1 _ _ _ _ 4]에서 가장 작은 길이 = .. 2021. 2. 14.
[HackerRank] Kangaroo (Java) 출처: https://www.hackerrank.com/challenges/kangaroo/problema 캥거루 k1, k2가 주어져 있으면 각 캥거리의 출발위치 x1, x2와 점프 거리 v1, v2가 주어진다. 동일한 횟수의 Jump로 두 캥거루 k1, k2가 같은 위치에 있으면 "YES"를 출력하고 불가능하면 "NO"를 출력한다. Input 0 2 5 3 Output NO 1. (문제 조건 상) k1은 k2은 보다 앞선 위치에서 시작한다. (그렇기에 k1의 속력 v1이 k2의 v2 보다 낮으면 절대 만날 수 없다.) 2. 문제 요구사항에서 두 캥거루가 동일한 위치에 만냐는지 물었을 때, 두 캥거루의 점프 횟수도 동일해야 한다. 따라서, (k1의 속력 v1 > v2 상태에서) k1의 위치가 k2보다 .. 2021. 2. 14.
[HackerRank] The Power Sum 출처: https://www.hackerrank.com/challenges/the-power-sum/problem X와 N이 주어졌을 때, X를 N 거듭제곱 형태로 표현할 수 있는 경우의수를 구하는 문제이다. Input 100 2 Output 3 ▶ 재귀 함수 형태 조합을 이용해서 구현 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Solution { static List list; static int val, n, answer = 0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); val = Int.. 2021. 2. 14.
[HackerRank] Absolute Permutation 출처: https://www.hackerrank.com/challenges/absolute-permutation/problem 단순히 완전 순열을 구성해서는 해결되지 않았다. [패턴 분석] - Output을 보기 좋게 구조화 Input 1 100 2 Output 3 4 1 2 7 8 5 6 11 12 9 10 15 16 13 14 19 20 17 18 23 24 21 22 27 28 25 26 31 32 29 30 35 36 33 34 39 40 37 38 43 44 41 42 47 48 45 46 51 52 49 50 55 56 53 54 59 60 57 58 63 64 61 62 67 68 65 66 71 72 69 70 75 76 73 74 79 80 77 78 83 84 81 82 87 88 85.. 2021. 2. 14.
[HackerRank] Jumping on the Clouds 출처: https://www.hackerrank.com/challenges/jumping-on-the-clouds/problem Emma는 한번에 1, 2개의 구름을 건널 수 있으며, 구름 중 [1]은 피해야 하는 구름 / [0]은 건널 수 있는 구름이다. 최소한의 Jumb 횟수로 목적지로 도달하는 경우를 구하는 문제이다. Input 7 0 0 1 0 0 1 0 Output 4 재귀를 이용해 모든 경우의 수를 구하되, 가장 적게 Jump한 횟수를 도출. import java.util.Scanner; public class Solution { static int n, answer; static int[] cloud; public static void main(String[] args) { Scanner s.. 2021. 2. 14.
반응형