본문 바로가기

분류 전체보기352

[프로그래머스] 자바 124 나라의 숫자 문제 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 10진법 124 나라 10진법 124 나라 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. 접근 1,2,4 세개의 숫자로 값을 배정하므로 (/3)과 (%3)을 이용할 생각을 했습니다. 코.. 2022. 1. 13.
[프로그래머스] 자바 약수의 개수와 덧셈 문제 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 입력 & 출력 제약사항 1 ≤ left ≤ right ≤ 1,000 테스트 케이스 left right result 13 17 43 24 27 52 접근 약수 개수를 구할 수만 있다면 쉽게 풀리는 문제라 생각합니다. 약수 개수를 구하는법은 1부터 해당 수까지 나눠서 나머지가 0일때마다 카운트합니다. ex) 10의 약수 개수는 10을 1부터 10까지 계속 나누어서 나머지가 0일때 카운트합니다.. 10 % 1 = 0 10 % 2 = 0 10 % 3 = 1 10 % 4 = 2 .. 2022. 1. 12.
[프로그래머스] 자바 체육복 문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성.. 2022. 1. 11.
[프로그래머스] 내적 문제 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 입력 & 출력 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 테스트 케이스 [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 접근 단순 곱셈 문제입니다. 배열안에 값들을 순서대로 곱해서 더해줍니다. 코드 class Solution { public int solution(int[] a, int[] b) { int answer = .. 2022. 1. 10.
[프로그래머스] 자바 폰켓몬 문제 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫 번째.. 2022. 1. 7.
[프로그래머스] 소수 만들기 문제 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 입력 && 출력 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 테스트 케이스 입력 1 [1,2,3,4] 출력 1 1 입력 2 [1,2,7,6,4] 출력 2 4 접근 소수를 구하는 문제라서 에라토스테네스의 체를 적용하여 소수들을 쫙 구해놓은 다음, 세개의 수를 계산할때마다 소수인지 아닌지 확인 하였습니다. 코.. 2022. 1. 6.
반응형