- [ 기록/프로그래머스 ][프로그래머스 / 자바] 합성수 구하기2023-10-23 13:31:27문제 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 풀이 for(int i =1; i
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 배열 회전시키기2023-10-23 12:49:12문제 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 풀이 class Solution { public int[] solution(int[] numbers, String direction) { int[] answer = new int[numbers.length]; if(direction.equals("right")) { answer[0] = numbers[numbers.length-1]; //3 for(int i = 0; i < numbers.length-1; i++){ answer[i+1] = numbers[i]; } } else { i..
- [ 기록/프로그래머스 ][프로그래머스 / 자바] 2차원으로 만들기2023-10-23 11:24:07문제 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다 풀이 class Solution { public int[][] solution(int[] num_list, int n) { int[][] answer = new int[num_list.length/n][n]; int idx = 0; for(int i = 0; i < num_lis..
- [ 기록/프로그래머스 ][프로그래머스] 모스부호(1)2023-10-20 14:30:40문제 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다. morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-':'..
- [ 기록/프로그래머스 ][프로그래머스] 순서쌍 구하기2023-10-20 13:58:23문제 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요. 약수 구하는 문제 풀이 class Solution { public int solution(int n) { int answer = 0; // 두 숫자의 곱이 n인 자연수 순서쌍의 개수 for(int i = 1; i
- [ 기록/프로그래머스 ][프로그래머스] 진료순서 정하기2023-10-20 13:51:20문제 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 풀이 int[] answer = new int[emergency.length]; // 높을수록 응급도 높음 // 3, 1, 2 출력 for(int i = 0; i < emergency.length; i++) { answer[i]++; // 순서 1부터 시작 모두 1 더해줌 for(int j = 0; j < emergency.length; j++) { if (emergency[i] < emergency[j]) answer[i]++; // 값 비교해서 작으면 순위 ..
- [ 기록/프로그래머스 ][프로그래머스] 배열 자르기2023-10-20 12:52:57문제 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요. 풀이 int[] answer = new int[num2-num1+1]; int j = 0; for(int i = num1; i
- [ 기록/프로그래머스 ][프로그래머스] 등차수열의 특정한 항만 더하기2023-10-20 01:21:51문제 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요. 풀이 class Solution { public int solution(int a, int d, boolean[] included) { int answer = 0; // 등차수열 a + (n-1)b for(int i = 0; i < included.length; i++){ answer += included[i] ? a+(d*i) : 0; } return answer; } } 참고할만한 다른 사람 ..