본문 바로가기

코딩 기초 트레이닝52

문자열이 몇 번 등장하는지 세기 문제 설명 문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString ≤ 1000 1 ≤ pat ≤ 10 입출력 예 myString pat result "banana" "ana" 2 "aaaa" "aa" 3 import java.util.stream.IntStream; class Solution { public int solution(String myString, String pat) { return (int) IntStream.range(0, myString.length()-pat.length()+1) .filter(i -> myString.substring(i,i+pat.lengt.. 2024. 4. 20.
배열의 길이를 2의 거듭제곱으로 만들기 문제 설명 정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 1 ≤ arr의 원소 ≤ 1,000 입출력 예 arr result [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6, 0, 0] [58, 172, 746, 89] [58, 172, 746, 89] import java.util.ArrayList; import java.util.Arrays; class Solution { public int[] solution(int[] arr) { int[] answer;.. 2024. 4. 20.
배열 만들기 5 문제 설명 문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다. 배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요. 제한사항 0 ≤ s Integer.parseInt(value.substring(s, s + l))).filter(value -> value > k).toArray(); } } 이거랑 내 코드랑 로직 차이 없는 거 같은데 성능 차이가 있을까? gpt한테 물어 봤다. 벤치마크 테스트 코드는 주는데 자기가 뭐라고 직접적으로 답하진 않는다. '상황에 따라 다르다'고만 답한.. 2024. 4. 19.
문자열 뒤집기 문제 설명 문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string은 숫자와 알파벳으로만 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 0 ≤ s ≤ e 2024. 4. 19.
글자 지우기 문제 설명 문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ indices의 길이 2024. 4. 19.
수열과 구간 쿼리 1 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 arr[i]에 1을 더합니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e 2024. 4. 19.
빈 배열에 추가, 삭제하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]를 arr[i] × 2 번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ arr의 길이 = flag의 길이 ≤ 100 arr의 모든 원소는 1 이상 9 이하의 정수입니다. 현재 X의 길이보다 더 많은 원소를 빼는 입력은 주어지지 않습니다. 입출력 예 arr flag result [3, 2, 4, 1, 3] [true, false, true, false, fals.. 2024. 4. 19.
날짜 비교하기 문제 설명 정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다. 만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요. 제한사항 date1의 길이 = date2의 길이 = 3 0 ≤ year ≤ 10,000 1 ≤ month ≤ 12 day는 month에 따라 가능한 날짜로 주어집니다. 입출력 예 date1 date2 result [2021, 12, 28] [2021, 12, 29] 1 [1024, 10, 24] [1024, 10, 24] 0 import java.time.Loc.. 2024. 4. 19.
이차원 배열 대각선 순회하기 문제 설명 2차원 정수 배열 board와 정수 k가 주어집니다. i + j 2024. 4. 19.
세로 읽기 문제 설명 문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요. 제한사항 my_string은 영소문자로 이루어져 있습니다. 1 ≤ m ≤ my_string의 길이 ≤ 1,000 m은 my_string 길이의 약수로만 주어집니다. 1 ≤ c ≤ m 입출력 예 my_string m c result "ihrhbakrfpndopljhygc" 4 2 "happy" "programmers" 1 1 "programmers" import java.util.stream.IntStream; import java.util.stream.Collectors;.. 2024. 4. 18.
문자열 정렬하기 (2) 문제 설명 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 2024. 4. 18.
간단한 논리 연산 문제 설명 boolean 변수 x1, x2, x3, x4가 매개변수로 주어질 때, 다음의 식의 true/false를 return 하는 solution 함수를 작성해 주세요. (x1 ∨ x2) ∧ (x3 ∨ x4) 입출력 예 x1 x2 x3 x4 result false true true true true true false false false false class Solution { public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) { boolean answer = false; // 논리합 ∨, 논리곱 ∧ boolean a = !(x1 == false && x2 == false); boolean b = !(x3 == false.. 2024. 4. 18.