분류 전체보기 218

[프로그래머스, LV.0] 콜라츠 수열 만들기

목차 #1 콜라츠 수열 만들기 문제 설명 모든 자연수 x에 대해서 현재 값이 x이면 x가 짝수일 때는 2로 나누고, x가 홀수일 때는 3 * x + 1로 바꾸는 계산을 계속해서 반복하면 언젠가는 반드시 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 부릅니다. 그리고 위 과정에서 거쳐간 모든 수를 기록한 수열을 콜라츠 수열이라고 부릅니다. 계산 결과 1,000 보다 작거나 같은 수에 대해서는 전부 언젠가 1에 도달한다는 것이 알려져 있습니다. 임의의 1,000 보다 작거나 같은 양의 정수 n이 주어질 때 초기값이 n인 콜라츠 수열을 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ n ≤ 1,000 입출력 예 n result 10 {10, 5, 16, 8, 4, 2, 1} 입출력 예..

[프로그래머스, LV.0] 수열과 구간 쿼리 4

목차 #1 수열과 구간 쿼리 4 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 i가 k의 배수이면 arr [i]에 1을 더합니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e

[프로그래머스, Lv.0] 수열과 구간 쿼리 2

목차 #1 수열과 구간 쿼리 2 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr [i]를 찾습니다. 각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요. 단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다. 제한사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e k 조건을 만족하며 arr1[i] > arr [j]의 조건으로 가장 작은 원소 찾음.

[프로그래머스, LV.0] 수열과 구간 쿼리 3

목차 #1 수열과 구간 쿼리 3 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ i

[프로그래머스, LV.0] 수 조작하기 1, 수 조작하기 2

목차 #1 수 조작하기 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 res..

Arrays.

목차 #Arrays 클래스 java.util.Arrays 클래스 Arrays 클래스에는 배열을 다루기 위한 다양한 메서드가 포함되어 있다고 한다. Arrays 클래스의 모든 메서드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다. sort 메소드 정렬 class FirstJava { public static void main(String[] args) { int[] num_list = {5, 2, 1, 6}; Arrays.sort(num_list); System.out.println(Arrays.toString(num_list)); } } ----------------------------- [1, 2, 5, 6] copyOf 메소드 복사 copyOf(원본 ..

JAVA 2023.05.17

[프로그래머스, LV.0] 마지막 두 원소

목차 #1 마지막 두 원소 문제 설명: 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요. 제한 사항: 2 ≤ num_list의 길이 ≤ 10 1 ≤ num_list의 원소 ≤ 9 입출력 예: #2 코드 및 알고리즘 import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(int[] num_list) { List list = Arrays.stream(num_list) // IntStream .boxe..

[프로그래머스, LV.0] 주사위 게임 2

목차 #1 주사위 게임 2 문제 설명 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 제한사항 a, b, c는 1이상 6이하의 정수이다. 입출력 예 입출력 예 #1 예제 1번에서 세..

[프로그래머스, LV.0] 등차수열의 특정한 항만 더하기

목차 #1 등차수열의 특정한 항만 더하기 문제 설명: 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included [i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요. 제한사항: 1

Stream API이란.

목차 #1 스트림 API(stream API) 자바에서는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림이라는 흐름을 통해 다룬다고 입출력에 대해 공부할 때 배웠었다. 그러나 Java SE 8부터 추가된 스트림 API는 이전에 배웠던 스트림과 전혀 다른 개념이라고 한다 많은 양의 데이터를 저장하기 위해 컬렉션을 사용한다고 한다. 이러하게 저장된 데이터에 접근하려면 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해야 했었다. 이러한 코드들의 단점은 코드의 재사용이 불가능하고 가독성이 떨어지는 문제점이 있었다. 실제로 코드를 작성하면서 여러번의 for문 작성이 주를 이루긴 했었다. 이러한 문제를 해결하기 위해 나온 것이 스트림 API라고 한다. class FirstJava { pu..

JAVA 2023.05.17