본문 바로가기

전체 글141

[프로그래머스][JAVA] 약수의 개수와 덧셈 Contents 두 수 사이의 약수의 합을 구하라 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 입출력 예시 설계 / 아이디어 첫번째 반복문은 left ~ right까지 반복 두번째 반복문에서 약수를 찾아 count에 저장 저장된 count가 짝수인지 홀수인지 찾고, 더하거나 뻄 문제 풀이 class Solution { public int solution(int left, int right) { int answer = 0; int count; for (int.. 2023. 1. 30.
[프로그래머스][JAVA] 없는 숫자 더하기 Contents numbers에서 빠진 숫자를 찾아라 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 입출력 예시 설계 / 아이디어 0부터 9까지의 합 45인 answer 선언 for문으로 answer에서 numbers 값을 뺌 문제 풀이 class Solution { public int solution(int[] numbers) { int answer = 45; for (int num : .. 2023. 1. 29.
[프로그래머스][JAVA] 크기가 작은 부분 문자열 Contents 문자열 t를 문자열 p의 길이에 맞게 자르고 p보다 작거나 같은 수를 구하시오 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항 1 ≤ p의 길이 ≤ 18 p의 길이 ≤ t의 길이 ≤ 10,000 t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 입.. 2023. 1. 28.
[프로그래머스][JAVA] K번째 수 Contents 배열을 i~j까지 자르고 그 다음인 k번째 숫자를 구하라 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 .. 2023. 1. 27.
[프로그래머스][JAVA] 체육복 Contents 체육 수업을 들을 수 있는 학생의 최댓값을 구하라 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 .. 2023. 1. 27.
[프로그래머스][JAVA] 종이자르기 Contents 가위질을 최소한으로 하라! 문제 설명 머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다. 정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < M, N < 100 종이를 겹쳐서 자를 수 없습니다. 입출력 예 설명 설계 / 아이디어 입출력 예시를 보면, result = M * N - 1 이다 문제풀이 class Solution { public int solution(int M, int N) { int answer = M * N - 1; return answer; } } 2023. 1. 26.
[프로그래머스][JAVA] 연속된 수의 합 Contents 연속된 정수 num개를 더해 total이 되는 정수 배열 문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. 제한사항 1 ≤ num ≤ 100 0 ≤ total ≤ 1000 num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다. 입출력 예 설명 입출력 예 #1 num = 3, total = 12인 경우 [3, 4, 5]를 return합니다. 입출력 예 #2 num = 5, total = 15인 경우 [1, 2, 3, 4, 5]를 return합니다. 입출력 .. 2023. 1. 26.
[프로그래머스][JAVA] 다음에 올 숫자 Contents 등차, 등비의 다음 값을 구하라 문제 설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 < common의 길이 < 1,000 -1,000 < common의 원소 < 2,000 common의 원소는 모두 정수입니다. 등차수열 혹은 등비수열이 아닌 경우는 없습니다. 등비수열인 경우 공비는 0이 아닌 정수입니다. 입출력 예시 입출력 예 #1 [1, 2, 3, 4]는 공차가 1인 등차수열이므로 다음에 올 수는 5이다. 입출력 예 #2 [2, 4, 8]은 공비가 2인 등비수열이므로 다음에 올 수는 16이다. 설계 common이 (n씩)얼마씩 차이나는 지 구하기 만약 common[1.. 2023. 1. 18.
[리트코드][Java] 566. Reshape the Matrix 행렬을 바꿔라 Contents 문제 설명 MATLAB에는 'm x n' 행렬을 원래 데이터를 유지하는 다른 크기의 'r x c' 행렬로 바꿀 수 있는 'reshape'라는 편리한 기능이 있다. 원하는 재구성된 행렬의 행과 열을 나타내는 'm x n' 행렬 'mat'와 두 정수 'r' 및 'c'가 제공됩니다. 재구성된 행렬은 원래 행렬의 모든 요소를 원래와 동일한 행 이동 순서로 채워야 합니다. 지정된 매개 변수를 사용한 'reshape' 작업이 가능하면 새 재구성된 행렬을 출력하고, 그렇지 않으면 원래 행렬을 출력합니다. 요약: mn 행렬을 rc 행렬로 바꿔라 결과는 [r,c]로 반환 예시 Example 1: Input: mat = [[1,2],[3,4]], r = 1, c = 4 Output: [[1,2,3,4]] .. 2023. 1. 9.
[리트코드][Java] 121. Best Time to Buy and Sell Stock 주식을 사고 팔 최적의 시기 Contents 문제 설명 배열 'price'에 'price[i]'는 i번째 날짜에 주어진 주식의 가격입니다. 당신은 한 주식을 사기 위해 하루를 선택하고 그 주식을 팔기 위해 미래에 다른 날을 선택함으로써 이익을 극대화하라. 이 거래로 얻을 수 있는 최대 수익을 반환하십시오. 이익을 얻을 수 없으면 0을 반환합니다. 예시 Example 1: Input: prices = [7,1,5,3,6,4] Output: 5 Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5. Note that buying on day 2 and selling on day 1 is not allowed because you must.. 2023. 1. 9.
728x90