배열의 길이를 2의 거듭제곱으로 만들기정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요.class Solution { public int[] solution(int[] arr) { int arrSize = arr.length; for(int i = 1; i import java.util.Arrays;class Solution { public int[] solution(int[] arr) { int arrSize = 1; while (arrSize 1...
문제/프로그래머스
문자열 관련 메서드 정리 : JAVA String Methods특정 문자열 위치 찾는 메서드 : indexOf(), lastIndexOf()public int indexOf(String str)int 변수명 = 문자열.indexOf(특정문자열);문자열에 처음 위치에서 특정 문자열의 위치를 찾는다특정 문자열 존재 할 경우 제일 처음 찾은 인덱스 반환, 특정 문자열 존재하지 않는 경우 -1 반환public int indexOf(String str, int fromIndex)int 변수명 = 문자열.indexOf(특정문자열, 시작인덱스번호);문자열의 시작인덱스 위치에서 부터 특정 문자열의 위치를 찾는다특정 문자열 존재 할 경우 제일 처음 찾은 인덱스 반환, 특정 문자열 존재하지 않는 경우 -1 반환pu..
조건에 맞게 수열 변환하기2정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱하고 다시 1을 더합니다.이러한 작업을 x번 반복한 결과인 배열을 arr(x)라고 표현했을 때, arr(x) = arr(x + 1)인 x가 항상 존재합니다. 이러한 x 중 가장 작은 값을 return 하는 solution 함수를 완성해 주세요.단, 두 배열에 대한 "="는 두 배열의 크기가 서로 같으며, 같은 인덱스의 원소가 각각 서로 같음을 의미합니다.import java.util.*;class Solution { public int solution(int[] arr) { int answer = 0; ..
할 일 목록오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.class Solution { public List solution(String[] todo_list, boolean[] finished) { List answer = new ArrayList(); for(int i = 0; i class Solution { public String[] solution(String[] todo_list, boolean[] finished) { ..
접미사인지 확인하기어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.class Solution { public int solution(String my_string, String is_suffix) { int answer = 0; int start_index = my_string.length() - is_suffix.length(); ..
주사위 게임31부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다. - 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. - 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. - 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다. - 어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다. - 네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫..
배열 만들기2정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.입출력 예 #15 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5, 50, 55, 500, 505, 550, 555가 있습니다. 따라서 [5, 50, 55, 500, 505, 550, 555]를 return 합니다.입출력 예 #210 이상 20 이하이면서 0과 5로만 이루어진 정수는 없습니다. 따라서 [-1]을 return 합니다.import java.util.ArrayList;import java.util.List;cla..
마지막 두 원소정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.매개변수 : num_list[2,1,6][5,2,1,7,5]반환값 : result[2,1,6,5][5,2,1,7,5,10]class Solution { public int[] solution(int[] num_list) { int listLen = num_list.length; int[] answer = new int[listLen+1]; int last = num_list[listLen-1]; ..
코드 처리하기문자열 code가 주어집니다.code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다. mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다. mode는 0과 1이 있으며, idx를 0 부터 code의 길이 - 1 까지 1씩 키워나가면서 code[idx]의 값에 따라 다음과 같이 행동합니다.- mode가 0일 때 * code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다. * code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다.- mode가 1일 때 * code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다. * code[idx]가 "1"이면 mo..
문자열 관련 메서드 정리charAt() 메서드String 클래스의 메서드사용방법 : 문자열.charAt(int index);문자열에서 해당 인덱스번호에 해당한는 문자를 가져온다 join() 메서드String 클래스의 메서드사용방법 : String.join(charSequence delimiter, charSequence... elements);delimiter(각 요소 사이에 삽입할 구분자)를 요소들 사이에 넣어서 하나의 문자열로 만들어 준다 Integer.parseInt() 메서드Integer 클래스의 메서드사용방법 : Integer.parseInt(String s);문자열 's'를 정수로 변환한다 Integer.toString() 메서드사용방법 : Integer.toString(int i);정수 'i..