본문 바로가기

전체 글

(138)
제일 작은 수 제거하기 /* 제일 작은 수 제거하기 * 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, * solution을 완성해주세요. * 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. * 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, * [10]면 [-1]을 리턴 합니다. * * arr은 길이 1 이상인 배열입니다. * 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. * * arr return * [4,3,2,1] [4,3,2] * [10] [-1] */ 12345678910111213141516171819202122232425262728293031323334public class programmer_1_24 ..
나누어 떨어지는 숫자 배열 /* 나누어 떨어지는 숫자 배열 * array의 각 element 중 divisor로 나누어 떨어지는 값을 * 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. * divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. * * arr은 자연수를 담은 배열입니다. * 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. * divisor는 자연수입니다. * array는 길이 1 이상인 배열입니다. * * arr divisor return * [5, 9, 7, 10] 5 [5, 10] * [2, 36, 1, 3] 1 [1, 2, 3, 36] * [3,2,6] 10 [-1] */ 1234567891011121314151617..
핸드폰 번호 가리기 /* 핸드폰 번호 가리기 * 전화번호가 문자열 phone_number로 주어졌을 때, * 전화번호의 뒷 4자리를 제외한 나머지 숫자를 * 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. * * phone_number는 길이 4 이상, 20이하인 문자열입니다. * * phone_number return * "01033334444" "*******4444" * "027778888" "*****8888" */ 123456789101112131415161718192021222324252627282930public class programmer_1_22 { static String a1 = "01033334444"; static String a2 = "027778888"; public ..
서울에서 김서방 찾기 /* 서울에서 김서방 찾기 * String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, * "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. * seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. * * seoul은 길이 1 이상, 1000 이하인 배열입니다. * seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. * "Kim"은 반드시 seoul 안에 포함되어 있습니다. * * seoul return * ["Jane", "Kim"] "김서방은 1에 있다" */ 12345678910111213141516public class programmer_1_21 { static String[] a1 = {"Ja..
콜라츠 추측 /* 콜라츠 추측 * 1937년 Collatz란 사람에 의해 제기된 이 추측은, * 주어진 수가 1이 될 때까지 다음 작업을 반복하면, * 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. * ---------------------------------------------------- * 1-1. 입력된 수가 짝수라면 2로 나눕니다. * 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. * 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. * ---------------------------------------------------- * 예를 들어, 주어진 수가 6이라면 * 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만..
두 정수 사이의 합 /* 두 정수 사이의 합 * 두 정수 a, b가 주어졌을 때 * a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. * * a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. * a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. * a와 b의 대소관계는 정해져있지 않습니다. * * a b return * 3 5 12 * 3 3 3 * 5 3 12 */ 1234567891011121314151617181920212223242526public class programmer_1_19 { static int a1 = 3; static int b1 = 5; static int a2 = 3; static int b2 = 3; static int a3 =..
나머지가 1이 되는 수 찾기 /* 나머지가 1이 되는 수 찾기 * 자연수 n이 매개변수로 주어집니다. * n을 x로 나눈 나머지가 1이 되도록 하는 * 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. * 답이 항상 존재함은 증명될 수 있습니다. * * 3 ≤ n ≤ 1,000,000 * * n result * 10 3 * 12 11 */ 12345678910111213141516171819202122public class programmer_1_18 { static int a1 = 10; static int a2 = 12; public int solution(int n) { int answer = 0; for(int i = 1; i
정수 내림차순으로 배치하기 /* 정수 내림차순으로 배치하기 * 함수 solution은 정수 n을 매개변수로 입력받습니다. * n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. * * n return * 118372 873211 */ 12345678910111213141516171819import java.util.*;public class programmer_1_17 { static long a1 = 118372; public long solution(long n) { long answer = 0; String[] ar = Long.toString(n).split(""); String rst = ""; Arrays.sort(ar, Comparator.reverseOrder()); for(String i :..