반응형

자바 문제 풀이/기초문제 20

[프로그래머스 자바] 순서 바꾸기

[프로그래머스 자바] 순서 바꾸기문제정수 리스트 num_list와 정수 n 이 주어질 때 num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스틀 리턴 하도록 하는 설루션 함수를 완성하라.입출력풀이주어진 num_list 리스트의 길이를 구하여 그 길이만큼의 새로운 리스트를 만든다.그리고 n번을 기준으로 새로 만든 리스트에 num_list [n] 번째부터 마지막 원소까지 값을 넣는다 그 후0번부터 n-1번째까지의 값들을 다시 새로 만든 리스트에 넣어주고 새로 만든 리스트를 리턴해준다.코드class Solution { public int[] solution(int[] num_list, int n) { ..

[프로그래머스 자바] n번째 원소부터

[프로그래머스 자바] n번째 원소부터문제설명정수리스트 num_list와 정수 n이 주어질 때 n번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return 하도록 설루션 함수를 완성하라.입출력풀이int 배열의 길이를 주어진 num_list 길이를 구하고 -n 한 값에서 +1 하면 num_list 리스트의 n번째 원소부터 마지막 원소까지의 수를 구할 수 있다. 그 수로 정답을 넣을 int 배열을 만들어주고 for문을 돌려 num_list의 n번째 수부터 하나하나씩 넣어주면 된다.코드class Solution { public int[] solution(int[] num_list, int n) { int[] answer = new int[num_list.length-n+1]; ..

[프로그래머스 자바] 배열만들기 3

[프로그래머스 자바] 배열 만들기 3 문제 정수배열 arr 와 2개의 구간이 담긴 배열 intervals 이 주어진다. intervals은 항상 [[a1, b1], [a2, b2]]꼴로 주어지며 각 구간은 닫힌 구간이다. 닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미한다. 이때 배열 arr 의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열르 만들어 return 하는 solution 함수를 완성하시오. 입출력 풀이 정답을 넣을 배열을 크기를 구하여 정답을 넣을 배열을 생성한다. 그리고 정답을 넣을 배열을 값을 넣기 위해 count라는 변수를 만들어 각 구간에 대해서 for 문을 돌릴때 새로운 배열의 원소를 배열에 넣어줄 수 있도록 만든다. 코드..

[프로그래머스 자바] 리스트 자르기

[프로그래머스 자바] 리스트 자르기 정수n과 정수 3개가 담긴 리스트 slicer 그리고 여러 개가 담긴 리스트 num_list가 주어집니다. slicer을 차례대로 a,b,c라고할때 n에 다라 다음과 같이 num_list를 슬라이싱 할려고 한다. 슬라이싱한 리시트를 return하도록 solution 함수를 완성해주세요. 풀이 스위치 문을 이용하여 n의 값에 따라 슬라이싱 하는 방법을 나누었다. ArrayList 를 이용하여 값을 추가해주고 스위치문을 빠져나오고 난후 다시 배열로 바꿔주는 작업을 하였다 num.size(); ArrayList 의 길이를 가지고 배열을 만들어 값을 집어 넣었다. int a=num.size(); answer=new int[a]; for(int i=0; i

[프로그래머스 자바]가까운 1 찾기

[프로그래머스 자바] 가까운 1 찾기 문제 정수 배열 arr이 주어진다. arr은 0,1로 이루어진 배열이다. 정수 idx가 주어질때 인덱스값이 idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요. 단 그러한 인덱스가 없다면 -1을 반환합니다. 입출력 풀이 문제의 조건대로 배열 arr을 탐색하여 하고 현재 인덱스값이 idx이상일경우 인덱스값을 반환하면 된다. 나는 for문을 배열의 값으로 탐색하고 하나 탐색할 때마다 answer값을 +1을 해주면서 현재의 인덱스값을 확인하였다. 탐색하면 조건에 맞는 답이 나면 check =true 로 변경하고 반복문을 종료하였다 만약 check 값이 false 이면 우리가 원하는 조건의 답이 없다는 거니 -1을 a..

[프로그래머스 자바]문자열 뒤집기

[프로그래머스 자바]문자열 뒤집기 문제 문자열 my_string 과 정수 s,e가 매개변수로 주어질때 문자열에서 인덱스 s부터 e까지 뒤집은 문자열을 리턴하는 함수를 작성하시오. 입출력 풀이 이걸 풀기위해서는 문자열을 뒤집는 방법을 알아야한다. for문을 이용할 방법과 reverse() 를 이용한 방법이 있다. 일단 for 문을 이용한 방법은 현재 문자열을 문자배열로 받아서 s와,e사이를 스왑 하는 방법이 있고 두번째 방법은 StringBuffer / reverse()를 사용하여 그부분만 문자열을 뒤집는 방법이 있다. 내가 선택한 방법은 두번째 방법을 선택하여 주어진 문자열을 총3개의 문자열로 나누었다. 주어진 문자열을 str이라하면 ans1=str(0,s) 까지 자른거 하나 ans2=str(s,e+1)..

[프로그래머스 자바] 접미사 배열

[프로그래머스 자바] 접미사 배열 문제 어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미 한다. 문자열이 매개변수로 주어졌을때 모든 접미사를 사전순으로 정렬한 문자열 배열을 리턴하는 함수를 작성하시오. 입출력예 풀이 이문제는 주어진 문자열읊 한글자씩 늘려가서 배열에 추가하는 문제로 정답을 넣을 배열의 크기는 현재 주어진 문자열의 길이를 의미한다. 그렇기에 문자열 길이로 배열의 크기로 정하고 substring을 이용하여 문자열을 나눠주면 된다 그후 사전 순서로 정렬해야하기에 import java.util.Arrays; 임폴트하여 Arrays.sort() 를 이용하여 정렬하였다. 코드 import java.util.Arrays; class Solution { public String[] ..

[프로그래머스 자바]배열 만들기5

[프로그래머스 자바]배열 만들기5 https://school.programmers.co.kr/learn/courses/30/lessons/181912 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문자열 inStrs와 정수k,s,l이 주어진다. 문자열inStrs의 원소는 숫자로 이루어져있으면 각 원소마다 s번 인덱스부터 길이가 l인 부분 문자열을 잘라내여 정수로 변환한다 이변화한 정수값이 k보다 큰 값들을 담은 배열을 return 해라 입출력 풀이 문자열을 슬라이싱 하기위해서 .substring(start,end) 를 이용하여 inStrs의 원소들인..

[프로그래머스 자바] 9로 나눈 나머지

[프로그래머스 자바] 9로 나눈 나머지 문제 음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같다 이를 이용하여 음이 아닌 정수가 문자열로 주어질 때 이 정수를 9로 나눈 나머지를 return 하여라 입출력 풀이 문자열의 길이가 정수타입이 담을수 있는 값보다 클 수도 있기에 각자릿수 합을 구해서 9로 나눈 나머지를 구해야 한다 내가 생각하기에 방법은 2가지가 있었다 첫번째 방법으로는 문자열을 charAt()를 축출하고 축출한 값을 정수로 바꾸어 합을 구하는 방법이다 이때 문자형을 정수형을 바꾸기 위해서는 Character.getNumbericValue()를 사용해야 한다 두 번째 방법은 문자열을 charAt로 축출 후 숫자로 변형 없이 더하는 방식이다 이때 주의해..

[프로그래머스 자바]콜라츠 수열 만들기

[프로그래머스 자바] 콜라츠 수열 만들기 문제 -모든 자연수 x에 대해서 현재값이 x 이면 x가 짝수일 때 2로 나누고 홀수 일대에는 3*x+1 하여 x값에 반환하는 과정을 반복하면 언제 가는 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 한다 위 과정에서 거쳐간 모든 수를 기록한 수열을 콜라츠 수열이며 이 콜라츠 수열을 return 하는 solution 함수를 완성하라 입력, 출력 풀이 -콜라츠 수가 얼마나 나올지 알 수 없기에 동적 배열이 필요하다고 판단해서 ArrayList를 사용하였다 문제의 조건에 따라 짝수일 때는 2로 나누고 홀수 일 때에는 3*x+1을 한 값을 ArrayList로 만든 배열에 추가하는 과정을 while 문을 이용하여 반복하였다. while문의 조건은 x값이 1이 아니면 계속 ..

반응형