본문 바로가기

728x90

프로그래머스(Java)/Level 0

(93)
[프로그래머스] 옹알이 (1) 코드 힌트문자열 배열 순회주어진 문자열 배열(babbling)의 각 문자열을 순회하여 처리합니다.유효한 단어 탐색 및 제거아기가 옹알이를 할 수 있는 유효한 단어 배열을 생성하고, 각 문자열에서 이 단어들을 탐색합니다.문자열 내에 유효한 단어가 포함되어 있다면, replace() 메서드를 사용하여 그 단어를 빈칸(" ")으로 대체합니다.유효한 문자열 확인각 문자열에서 모든 유효한 단어가 제거된 후, trim()을 사용하여 문자열이 빈칸으로만 이루어져 있는지 확인합니다.문자열이 빈칸으로만 이루어져 있다면, 유효한 발음으로 간주하고 카운트를 증가시킵니다.최종 결과 반환모든 문자열을 처리한 후, 유효한 발음으로 구성된 문자열의 개수를 반환합니다. 정답은 더보기 클릭더보기class Solution { pu..
[프로그래머스] 중복된 문자 제거 코드 힌트결과 문자열 초기화중복이 제거된 문자를 저장할 result 변수를 빈 문자열로 초기화합니다.입력 문자열 순회for 루프를 사용하여 입력 문자열 my_string의 각 문자를 순회합니다.my_string.length()를 사용하여 문자열의 길이를 얻고, 각 인덱스를 통해 문자를 접근합니다.현재 문자 추출my_string.charAt(i)를 사용하여 현재 인덱스 i의 문자를 추출합니다.중복 확인 및 추가result.contains()를 사용하여 result 문자열에 현재 문자가 이미 포함되어 있는지 확인합니다.포함되어 있지 않다면, result 문자열에 현재 문자를 추가합니다.결과 반환중복이 제거된 최종 result 문자열을 반환합니다.  정답은 더보기 클릭더보기class Solution { ..
[프로그래머스] 수열과 구간 쿼리 1 코드 힌트배열과 쿼리 순회주어진 배열 arr와 2차원 배열 queries를 순회합니다.각 쿼리마다 특정 범위의 인덱스를 업데이트합니다.시작 및 종료 인덱스 추출각 쿼리는 두 개의 정수로 구성되어 있으며, 첫 번째 정수는 시작 인덱스 s, 두 번째 정수는 종료 인덱스 e입니다.범위 내 요소 증가쿼리에서 정의한 범위 내의 모든 요소를 1씩 증가시킵니다.이중 for 문을 사용하여 시작 인덱스부터 종료 인덱스까지 순회하면서 각 요소를 증가시킵니다.최종 결과 반환모든 쿼리를 처리한 후 업데이트된 배열 arr을 반환합니다.추가 설명배열 순회첫 번째 for 문은 2차원 배열 queries를 순회하여 각 쿼리를 처리합니다.두 번째 for 문은 각 쿼리 내의 범위 (s부터 e까지)를 순회하여 해당 범위의 배열 요소를 1..
[프로그래머스] 왼쪽 오른쪽 코드 힌트방법 1: 인덱스를 저장해서 배열을 잘라내기시작 및 끝 인덱스 저장: 배열의 시작과 끝 인덱스를 저장합니다.결과 배열 초기화: 시작 인덱스부터 끝 인덱스까지의 요소 개수를 계산하여 결과 배열(result)의 크기를 초기화합니다.배열 요소 복사: for 루프를 사용하여 시작 인덱스부터 끝 인덱스까지의 요소를 순회하며 결과 배열에 복사합니다. 방법 2: copyOfRange() 메소드를 사용해서 배열을 잘라내기import java.util.Arrays;class Solution { public int[] sliceArrayUsingCopyOfRange(int[] arr, int startIndex, int endIndex) { // 배열 복사 (copyOfRange() 사용) ..
[프로그래머스] 문자열 잘라서 정렬하기 코드 힌트split() 메소드 사용하기:설명: split 메소드는 문자열을 특정 구분자를 기준으로 나누어 배열을 반환합니다. 예를 들어, "abcxdefxghi".split("x")는 ["abc", "def", "ghi"]를 반환합니다.코드: String[] parts = myString.split("x");주의: 분리된 문자열이 빈 문자열인 경우도 포함될 수 있으므로 isEmpty를 사용해 필터링합니다.Arrays.sort()를 사용하여 배열을 오름차순으로 정렬하기:설명: Arrays.sort는 배열을 오름차순으로 정렬하는 메소드입니다.코드: Arrays.sort(result);ArrayList 사용하기:설명: ArrayList는 동적으로 크기가 변경될 수 있는 리스트입니다. 배열의 크기를 미리 알 수..
[프로그래머스] 배열 조각하기 코드 힌트짝수/홀수 인덱스의 역할:query 배열의 인덱스가 짝수일 때는 배열의 끝 인덱스를 줄이고, 홀수일 때는 시작 인덱스를 늘립니다. 이를 통해 배열의 범위를 점진적으로 줄여나갑니다.배열 범위 계산:배열을 자르고 삭제할 필요 없이 startIndex와 endIndex를 업데이트하면서 배열의 특정 범위를 설정합니다.endIndex와 startIndex를 업데이트하면서 최종 범위가 결정됩니다.결과 배열 생성:결과 배열의 크기는 endIndex - startIndex + 1로 계산됩니다.새로운 배열을 생성하고, 원본 배열에서 해당 범위의 요소를 복사합니다.반복문과 인덱스 업데이트:for 루프를 통해 query 배열을 순회하면서 인덱스를 업데이트합니다.짝수 인덱스에서는 endIndex를, 홀수 인덱스에서는..
[프로그래머스] 리스트 자르기 코드 힌트:for문에서 += 사용:for (int i = a; i 동일한 for문 사용:switch (n) { ... }을 통해 a, b, c 값을 설정하면서도 반복문은 항상 동일한 구조로 작동합니다. 이는 코드의 재사용성을 높이며, 각 경우에 따라 설정된 인덱스 범위를 사용하여 배열에서 요소를 추출할 수 있습니다.List 사용:List list = new ArrayList();: 배열의 크기가 변할 수 있는 경우, 요소를 동적으로 추가하거나 제거할 수 있는 List를 사용하는 것이 효율적입니다. ArrayList는 요소의 추가 및 제거가 O(1) 시간 복잡도에 수행됩니다. 정답은 더보기 클릭더보기import java.util.*;class Solution { public int[] solution..
[프로그래머스] 다음에 올 숫자 코드 힌트등차수열인지 확인하기:수열의 첫 번째 항과 두 번째 항의 차이와, 두 번째 항과 세 번째 항의 차이를 비교합니다.if (common[1] - common[0] == common[2] - common[1]) { ... }다음 항 예측하기 (등차수열):마지막 항에 공차를 더합니다.return common[n-1] + (common[n-1] - common[n-2]);다음 항 예측하기 (등비수열):마지막 항에 공비를 곱합니다.return common[n-1] * (common[n-1] / common[n-2]); 정답은 더보기 클릭더보기class Solution { public int solution(int[] common) { int n = common.length; ..

728x90