반응형

자바 문제 풀이 23

[백준 2473 자바] 세 용액

[백준 2473 자바] 세 용액문제여러 종류의 산성 용액과 알칼리성 용액을 보유하고 있다.각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어진다.산용 용액은 1부터 1,000,000,000까지의 양의 정수, 알칼리성 용액의 특성은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 세 가지 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다.세 용의 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 할 때0에 가장 가까운 용액을 만드는 세 용액을 찾는 프로그램을 작성하시오. 입력첫째 줄에는 전체 용액이 수 n이 입력된다 n은 3 이상 5000 이하의 정수이다.둘째 줄에는 용액의 특성값을 나타내는 n개의 정수들이 빈값을 사이에 두고 주어진다.모..

[백준 3184 자바] 양

3184번 양문제미키의 뒷마당에는 특정 수의 양이 있다. 늑대는 마당에 들어와 양을 공격했다.마당은 행과 열로 이루어진 직사각형 모양이다.글자 '.' (점)은 빈 필드를 의미하며, 글자 '#'는 울타리, 'o'는 양 'v'는 늑대를 의미한다.한 칸에서 수평, 수직만으로 이동하며 울타리를 지나지 않고 다른 칸으로 이동할 수 있다면 두 칸은 같은 영역 안에 속해 있다고 한다.마당에서 탈출 할 수 있는 칸은 어떤 영역에도 속하지 않는다고 간주한다. 양은 늑대에게 싸움을 걸 수 있고 영역 안에 양의 수가 늑대의 수보다 많다면 이기고, 늑대를 우리에서 쫓아낸다.그렇지 않다면 늑대가 그 지역 안의 모든 양을 먹는다.맨 처음 모든 양과 늑대는 마당 안 영역에 존재한다.아침이 도달했을 때 살아남은 양과 늑대의 수를 출..

[백준 5639 자바] 이진 검색 트리

[백준 5639 자바] 이진 검색 트리문제이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진트리이다.노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다.노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다.왼쪽, 오른쪽 서브트리도 이진 검색 트리이다.전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순서대로 키를 출력한다. 예를 들어, 위의 이진 검색 트리의 전위 순회 결과는 50 30 24 5 28 45 98 52 60이고, 후위 순회 결과는 5 28 24 45 30 60 52 98 50이다.이진 검색 트리를..

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

[프로그래머스 자바] 순서 바꾸기문제정수 리스트 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[] ..

반응형