728x90
반응형

코딩테스트 - 프로그래머스 93

[79] JAVA 배열의 길이에 따라 다른 연산하기

문제 설명 정수 배열 arr과 정수 n이 매개변수로 주어집니다. arr의 길이가 홀수라면 arr의 모든 짝수 인덱스 위치에 n을 더한 배열을, arr의 길이가 짝수라면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 1 ≤ arr의 원소 ≤ 1,000 1 ≤ n ≤ 1,000 입출력 예 arr n result [49, 12, 100, 276, 33] 27 [76, 12, 127, 276, 60] [444, 555, 666, 777] 100 [444, 655, 666, 877] 입출력 예 #1 예제 1번의 arr의 길이는 5로 홀수입니다. 따라서 arr의 짝수 인덱스 0, 2, 4에 주어진 n 값인 2..

[78] JAVA 0 떼기

문제 설명 정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n_str ≤ 10 n_str이 "0"으로만 이루어진 경우는 없습니다. 입출력 예 n_str result "0010" "10" "854020" "854020" 입출력 예 #1 "0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다. 입출력 예 #2 "854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다. [나의 풀이] class Solution { public String solution(String n_str) { return String.valueOf(In..

[77] JAVA 수 조작하기 1

문제 설명 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. 제한사항 -100,000 ≤ n ≤ 100,000 1 ≤ control의 길이 ≤ 100,000 control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다. 입출력 예 n control result 0 "wsdawsdass..

[76] JAVA 정수 찾기

문제 설명 정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list안에 n이 있으면 1을 없으면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 3 ≤ num_list의 길이 ≤ 100 1 ≤ num_list의 원소 ≤ 100 1 ≤ n ≤ 100 입출력 예 num_list n result [1, 2, 3, 4, 5] 3 1 [15, 98, 23, 2, 15] 20 0 입출력 예 #1 [1, 2, 3, 4, 5] 안에 3이 있으므로 1을 return합니다. 입출력 예 #2 [15, 98, 23, 2, 15] 안에 20이 없으므로 0을 return합니다. [나의 풀이] import java.util.stream.Stream; class Solution { publ..

[75] JAVA n보다 커질 때까지 더하기

문제 설명 정수 배열 numbers와 정수 n이 매개변수로 주어집니다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ numbers의 길이 ≤ 100 1 ≤ numbers의 원소 ≤ 100 0 ≤ n n) break; } return sum; } } [다른 풀이] class Solution { public int solution(int[] numbers, int n) { int sum = 0; for (int i = 0; i left

[74] JAVA 배열 만들기 1

문제 설명 정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ n ≤ 1,000,000 1 ≤ k ≤ min(1,000, n) 입출력 예 n k result 10 3 [3, 6, 9] 15 5 [5, 10, 15] 입출력 예 #1 1 이상 10 이하의 3의 배수는 3, 6, 9 이므로 [3, 6, 9]를 return 합니다. 입출력 예 #2 1 이상 15 이하의 5의 배수는 5, 10, 15 이므로 [5, 10, 15]를 return 합니다. [나의 풀이] import java.util.stream.IntStream; class Solution { public int[] solutio..

[73] JAVA 조건에 맞게 수열 변환하기 3

문제 설명 정수 배열 arr와 자연수 k가 주어집니다. 만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더합니다. 이러한 변환을 마친 후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000,000 1 ≤ arr의 원소의 값 ≤ 100 1 ≤ k ≤ 100 입출력 예 arr k result [1, 2, 3, 100, 99, 98] 3 [3, 6, 9 ,300 ,297, 294] [1, 2, 3, 100, 99, 98] 2 [2, 4, 6, 200, 198, 196] 입출력 예 #1 주어진 k인 3은 홀수이므로, 전체 배열에 3을 곱합니다. 따라서 [3, 6, 9, 300, 297, 294]을 ret..

[72] JAVA 이어 붙인 수

문제 설명 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list의 길이 ≤ 10 1 ≤ num_list의 원소 ≤ 9 num_list에는 적어도 한 개씩의 짝수와 홀수가 있습니다. 입출력 예 num_list result [3, 4, 5, 2, 1] 393 [5, 7, 8, 3] 581 입출력 예 #1 홀수만 이어 붙인 수는 351이고 짝수만 이어 붙인 수는 42입니다. 두 수의 합은 393입니다. 입출력 예 #2 홀수만 이어 붙인 수는 573이고 짝수만 이어 붙인 수는 8입니다. 두 수의 합은 581입니다. [나의 풀이] import ..

[71] JAVA n 번째 원소부터

문제 설명 정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list의 길이 ≤ 30 1 ≤ num_list의 원소 ≤ 9 1 ≤ n ≤ num_list의 길이 입출력 예 num_list n result [2, 1, 6] 3 [6] [5, 2, 1, 7, 5] 2 [2, 1, 7, 5] 입출력 예 #1 [2, 1, 6]의 세 번째 원소부터 마지막 원소까지의 모든 원소는 [6]입니다. 입출력 예 #2 [5, 2, 1, 7, 5]의 두 번째 원소부터 마지막 원소까지의 모든 원소는 [2, 1, 7, 5]입니다. [나의 풀이] import java.util.Arrays..

[70] JAVA 문자열을 정수로 변환하기

문제 설명 숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n_str ≤ 5 n_str은 0부터 9까지의 정수 문자로만 이루어져 있습니다. 입출력 예 n_str result "10" 10 "8542" 8542 입출력 예 #1 "10"을 정수로 바꾸면 10입니다. 입출력 예 #2 "8542"를 정수로 바꾸면 8542입니다. [나의 풀이] class Solution { public int solution(String n_str) { return Integer.parseInt(n_str); } }

[69] JAVA 문자열의 뒤의 n글자

문제 설명 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 뒤의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string은 숫자와 알파벳으로 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 1 ≤ n ≤ my_string의 길이 입출력 예 my_string n result "ProgrammerS123" 11 "grammerS123" "He110W0r1d" 5 "W0r1d" 입출력 예 #1 예제 1번의 my_string에서 뒤의 11글자는 "grammerS123"이므로 이 문자열을 return 합니다. 입출력 예 #2 예제 2번의 my_string에서 뒤의 5글자는 "W0r1d"이므로 이 문자열을 ret..

[68] JAVA 카운트 다운

문제설명 정수 start_num와 end_num가 주어질 때, start_num에서 end_num까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ end_num ≤ start_num ≤ 50 입출력 예 start_num end_num result 10 3 [10, 9, 8, 7, 6, 5, 4, 3] 입출력 예 #1 10부터 3까지 1씩 감소하는 수를 담은 리스트는 [10, 9, 8, 7, 6, 5, 4, 3]입니다. [나의 풀이] import java.util.stream.IntStream; import java.util.Collections; import java.util.stream.Collectors; import java.ut..

[67] JAVA 카운트 업

문제 설명 정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ start_num ≤ end_num ≤ 50 입출력 예 start_num end_num result 3 10 [3, 4, 5, 6, 7, 8, 9, 10] 입출력 예#1 3부터 10까지의 숫자들을 담은 리스트 [3, 4, 5, 6, 7, 8, 9, 10]를 return합니다. [나의 풀이] import java.util.stream.IntStream; class Solution { public int[] solution(int start_num, int end_num) { return IntStream..

[66] JAVA 정수부분

문제 설명 실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ flo ≤ 100 입출력 예 flo result 1.42 1 69.32 69 입출력 예 #1 1.42의 정수 부분은 1입니다. 입출력 예 #2 69.32의 정수 부분은 69입니다. [나의 풀이] class Solution { public in solution(double flo) { return (int) flo; } } [다른 풀이] class Solution { public int solution(double flo) { return Integer.parseInt(Double.toString(flo).substring(0, Double.toString(flo)..