본문 바로가기

codingtest287

[Java] 마지막 두 원소 문제 정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ num_list 의 길이 ≤ 10 1 ≤ num_list 의 원소 ≤ 9 class Solution { public int[] solution(int[] num_list) { int[] answer = new int[num_list.length+1]; int num_list_len = num_list.length; System.arraycopy(num_list, 0, answer, 0, num_list_len); int last1 = an.. 2023. 7. 29.
[Java] 수 조작하기 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" 로 이루어진 문자열입니다. class Solution { public int solu.. 2023. 7. 29.
[Java] 수 조작하기 2 문제 정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다. "w" : 수에 1을 더한다. "s" : 수에 1을 뺀다. "d" : 수에 10을 더한다. "a" : 수에 10을 뺀다. 그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다. 주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요. 제한사항 2 ≤ log 의 길이 ≤ 100,000 -100,000 ≤ log[0] ≤ 100.. 2023. 7. 29.
[Java] 수열과 구간 쿼리 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 < arr 의 길이 0 ≤ k ≤ 1,000,000 class Solution { public int[] solution(int[] ar.. 2023. 7. 28.