-
[Java 자바] 프로그래머스 Lv 0 - n의 배수 고르기Study/Java 2024. 11. 16. 19:26728x90반응형
목차
1. 문제 설명
728x90문제 설명
정수 n과 정수 배열 numlist가 매개변수로 주어질 때,
numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.제한사항
- 1 ≤ n ≤ 10,000
- 1 ≤ numlist의 크기 ≤ 100
- 1 ≤ numlist의 원소 ≤ 100,000
2. 입출력 예시
입출력 예시
#1
numlist에서 3의 배수만을 남긴 [6, 9, 12]를 return합니다.
#2
numlist에서 5의 배수만을 남긴 [10, 5]를 return합니다.
#3numlist에서 12의 배수만을 남긴 [120, 600, 12, 12]를 return합니다.
3. 문제 풀이
반응형문제 풀이
1. answer 배열의 길이를 구하기 위해 변수 arr을 만든다.
2. 반복문을 통해 numlist의 길이만큼 반복한다.
3. 조건문을 통해 numlist의 원소가 n으로 나누었을 때 나머지가 없다면 배수로 생각하고 arr을 1씩 올린다.
4. answer배열의 길이를 arr로 정한다.
5. answer 배열의 원소를 순서대로 넣기 위해서 변수 k를 만든다.
6. 반복문을 통해 numlist의 길이만큼 반복하며, 조건문을 통해 n의 배수인지 확인한다.
7. n의 배수가 맞다면, answer[k]에 해당값을 넣고 k를 1씩 증가하며 반복한다.
8. 최종 answer를 반환한다.
class Solution { public int[] solution(int n, int[] numlist) { int arr = 0; for(int i=0; i<numlist.length; i++){ if(numlist[i] % n == 0){ arr++; } } int[] answer = new int [arr]; int k = 0; for(int i=0; i<numlist.length; i++){ if(numlist[i] % n == 0){ answer[k] = numlist[i]; k++; } } return answer; } }
문제 풀이 2
ArrayList는 리스트의 길이를 가변적이게 할 수 있다.
1. ArrayList인 answerList를 만든다.
2. 반복문을 통해 numlist의 길이만큼 반복하며, 조건문을 통해 numlist의 원소가 n의 배수인지 확인한다.
3. 참이라면, answerList에 값을 추가한다.
4. answer 배열의 길이를 answerList의 사이즈로 정한다.
5. 반복문을 통해서 answer 배열에 각 answerList의 원소를 넣는다.
6. answer를 반환한다.
import java.util.*; class Solution { public int[] solution(int n, int[] numlist) { ArrayList<Integer> answerList = new ArrayList<>(); for(int i=0; i<numlist.length; i++){ if(numlist[i]%n==0){ answerList.add(numlist[i]); } } int[] answer = new int[answerList.size()]; for(int i=0; i<answer.length; i++){ answer[i] = answerList.get(i); } return answer; } }
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - OX퀴즈 (2) 2024.11.18 [Java 자바] 프로그래머스 Lv 0 - 자릿수 더하기 (0) 2024.11.17 [Java 자바] 프로그래머스 Lv 0 - 숫자 찾기 (1) 2024.11.15 [Java 자바] 프로그래머스 Lv 0 - 배열의 유사도 (0) 2024.11.14 [Java 자바] 프로그래머스 Lv 0 - 문자열 계산하기 (0) 2024.11.13