배열

제일 작은 수 제거하기/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 시도 (실패) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import java.util.*; class Solution { public int[] solution(int[] arr) { int[] answer = new int[arr.length - 1]; Arrays.sort(arr); int[] temp = Arrays.copyOfRange(arr,..

x만큼 간격이 있는 n개의 숫자/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/12954 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 풀이 (2020.04.20) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; long temp = x; for(int i=0;i

문자열 내 마음대로 정렬하기/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 | 프로그래머스 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 programmers.co.kr ○ 처음 푼 풀이 1 2 3 4 5 6 7 8 9 10..

같은 숫자는 싫어/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 | 프로그래머스 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 retur programmers.co.kr ○ 처음 푼 풀이 (2020.02.23) 1 2 3 4 5 6 7..

나누어 떨어지는 숫자 배열/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 | 프로그래머스 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divi programmers.co.kr ○ 처음 푼 풀이 (2020.02.23) 1 2 3 4 ..

문자열 내림차순으로 배치하기/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 | 프로그래머스 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return Zbcdefg gfedcbZ programmers.co.kr ○ 처음 푼 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ..
배열의 복사/데이터 복사/깊은 복사/java
○ 배열의 복사 - 데이터 복사(깊은 복사) : 실제 요소로 들어있는 값에 대한 복사로 원본을 수정해도 복사본에 영향을 미치지 않는다. public class ArrCopy { public static void main(String[] args) { int[] nums = {10, 20, 30, 40, 50}; //-- 배열 원본 int[] copys2 = copyArray(nums); //-- 깊은 의미의 배열 복사 수행 // (사용자 정의 메소드 호출) int[] copys3 = (int[])nums.clone(); //-- 깊은 의미의 배열 복사 수행 // (자바 제공 → clone() 메소드) // 배열을 반환하는게 아니라 객체를 반환한다. // 원본 배열 요소의 수정 발생~!!! nums[1] ..
배열의 복사/주소값 복사/얕은 복사/java
○ 배열의 복사 - 주소값 복사 (얕은 복사) : 원본을 수정하면 복사본에 영향을 미친다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 public class ArrCopy { public static void main(String[] args) { int[] nums = {10, 20, 30, 40, 50}; //-- 배열 원본 int[] copys; //-- 복사본으로 만들 배열 int temp; //-- 실습 진행(테스트)을 위한 임시 변수 copys = nums; //-- 복사~!!! temp = nums[0]; //-- temp ← 10 nums[0] = 1000; //-- 1000 20 30 40 50 //co..
Random 클래스 활용
○ Random 클래스 활용 - 입력받은 수만큼 난수를 발생시켜 배열에 담고, 그 중 가장 큰 값과 가장 작은 값 구하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import java. util.Scanner; import java.util.Random; public class RandomSu{ public static void main(String[] args) { // Scanner 인스턴스 생성 Scanner sc = new Scanner(System.in); System.out.print("발생시킬 난수의 개수 입력 : "); int size..

K번째수/java/프로그래머스/Level1
https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 | 프로그래머스 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr ○ 못 풀어서 다른사람 풀이 참고(sort(), copyOfRange() 사용) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i=0; i