본문 바로가기

Java

(110)
[프로그래머스/120888] 중복된 문자 제거(.toCharArray(), .indexOf(), .valueOf()) ✏️ 문제 설명문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.✏️ code📌 toCharArray(): 문자열 row를 문자 배열로 변환합니다. (각 문자에 대한 반복 작업을 수행하기 위함)📌 indexOf: 특정 문자가 해당 문자열 안에서 처음으로 나타내는 인덱스를 반환합니다. (만약 찾지 못하면 -1 반환)📌 valueOf: 주어진 인자를 문자열로 변환합니다.class Solution { public String solution(String my_string) { StringBuilder result = new StringBuilder(); ..
[프로그래머스/181851] 전국 대회 선발 고사(List<int[]>, new int[]{i, rank[i]}, (a,b) -> Integer.compare(a[1], b[1])) ✏️ 문제 설명0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았습니다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기로 했습니다. 각 학생들의 선발 고사 등수를 담은 정수 배열 rank와 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance가 매개변수로 주어집니다. 전국 대회에 선발된 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 × a + 100 × b + c를 return 하는 solution 함수를 작성해 주세요. ✏️ code📌Listint[]> availableStudents = new ArrayList()..
[프로그래머스/181836] 그림 확대(.toCharArray, String.valueOf, .repeat, .append) ✏️ 문제 설명직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 × 1 크기의 정사각형 크기의 픽셀로 이루어져 있습니다. 이 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 매개변수로 주어질 때, 이 그림 파일을 가로 세로로 k배 늘린 그림 파일을 나타내도록 문자열 배열을 return 하는 solution 함수를 작성해 주세요. ✏️ code📌 row.toCharArray()- .toCharArray: 문자열 row를 문자 배열로 변환합니다.- 이유: 문자열의 각 문자에 대한 반복적인 작업을 수행하기 위해, 문자열을 문자 단위로 분리하였습니다.📌add.append(String.valueOf(c).repeat(k))- String.valueOf(c): c를 문자열로 변환합니다. (rep..
[프로그래머스/181830] 정사각형으로 만들기(row= arr.length, column=arr[0].length, Math.max(row, column)) ✏️ 문제 설명이차원 정수 배열 arr이 매개변수로 주어집니다. arr의 행의 수가 더 많다면 열의 수가 행의 수와 같아지도록 각 행의 끝에 0을 추가하고, 열의 수가 더 많다면 행의 수가 열의 수와 같아지도록 각 열의 끝에 0을 추가한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.✏️ code📌int[][] result = new int[size][size]: 자바에서 배열을 생성하면 기본값으로 0이 채워집니다.📌이중 for문 (row → column): row 각 행에 하나씩 접근하여 → 행마다 column 열에 접근. 즉, 각 행에 있는 모든 열에 접근합니다. import java.lang.Math;class Solution { public int[][] solut..
[프로그래머스/181858] 무작위로 K개의 수 뽑기 (LinkedHashSet, Arrays.fill, Math.min(unique.length, k)) ✏️ 문제 설명랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 합니다. 적절한 방법이 떠오르지 않기 때문에 일정한 범위 내에서 무작위로 수를 뽑은 후, 지금까지 나온적이 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만들기로 합니다.이미 어떤 수가 무작위로 주어질지 알고 있다고 가정하고, 실제 만들어질 길이 k의 배열을 예상해봅시다.정수 배열 arr가 주어집니다. 문제에서의 무작위의 수는 arr에 저장된 순서대로 주어질 예정이라고 했을 때, 완성될 배열을 return 하는 solution 함수를 완성해 주세요.단, 완성될 배열의 길이가 k보다 작으면 나머지 값을 전부 -1로 채워서 return 합니다.✏️ code📌Integer[] unique- Arrays.stream(arr): arr 배열을 ..
[프로그래머스/181846] 두 수의 합 (Integer, Long, BigInteger) ✏️ 문제 설명0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.✏️ code📌 Integer: 32비트 (-2,147,488,648 ~ 2,147,483,647)📌 Long: 64비트 (-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)📌 BigInteger: 이론상 무제한(메모리가 허용하는 한), 최소 70바이트로 동적 할당됩니다.- java.math 패키지 import 필요- 덧셈(.add()), 뺄셈(.subtract()), 곱셈(.multiply()), 나눗셈(.divide()), 나머지(.mod()), 거듭제곱(.pow())import java.math.Bi..
[프로그래머스/181894] 2의 영역 (Arrays.copyOfRange, 리팩토링) ✏️ 문제 설명정수 배열 arr가 주어집니다. 배열 안의 2가 모두 포함된 가장 작은 연속된 부분 배열을 return 하는 solution 함수를 완성해 주세요.단, arr에 2가 없는 경우 [-1]을 return 합니다.✏️ code 1차📌 Arrays.copyOfRange(원본 배열, 복사 시작 인덱스, 복사 끝낼 인덱스*): 배열의 특정 구간을 복사하여 새로운 배열을 생성합니다.*복사 끝낼 인덱스는 포함하지 않는 것이 특징입니다. (즉, 복사 끝낼 인덱스-1까지만 복사함)import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class P181894 { public int[] solution(int[] a..
[프로그래머스/181862] 세 개의 구분자 (정규표현식, 스트림API, split, stream, filter, toArray) ✏️ 문제 설명임의의 문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나누고자 합니다.예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 ["onlettu", "etom", "to"] 가 됩니다.문자열 myStr이 주어졌을 때 위 예시와 같이 "a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.단, 두 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않으며, return할 배열이 빈 배열이라면 ["EMPTY"]를 return 합니다. ✏️ code🖥️ 스트림 API도입: Java 8정의: 데이터 소스(컬렉션, 배열 등)에서 추출된 연속된 요소들의 모..

반응형