코테/프로그래머스

[프로그래머스/Lv. 0] n의 배수 고르기

imname1am 2023. 1. 29. 16:54
반응형

내 코드

class Solution {
    public int[] solution(int n, int[] numlist) {
        // 새 배열 길이 계산
        int cnt = 0;
        
        for(int num : numlist) {
            if(num % n == 0) {
                cnt++;
            }
        }
        
        // 새 배열 채워넣기
        int[] answer = new int[cnt];
        int idx = 0;
        
        for(int num : numlist) {
            if(num % n == 0) {
                answer[idx] = num;
                idx++;
            }
        }
        
        return answer;
    }
}

새 배열 길이를 어찌 구할까 고민하다가 일단 먼저 구하고 시작하기로 하고 풀었다.

좀 코드가 길어진 것 같아 다른 풀이를 보기로 했다.🤔

 

다른 정답 코드

import java.util.*;

class Solution {
    public ArrayList solution(int n, int[] numlist) {

        ArrayList<Integer> answer = new ArrayList<>();

        for(int num : numlist){
            if(num % n == 0){
                answer.add(num);
            }
        }

        return answer;
    }
}

answer을 ArrayList로 선언하고 원소를 추가할 때 .add로 아이템을 추가하는 방법..으로

내 코드의 for문을 한 번만 쓸 수 있더라...!💥

 

stream, filter는 아직 어떻게 쓰는지 모르겠어서 문법 공부를 더 해봐야할 것 같다🤔

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


(참고)

 

Java - ArrayList.add() 사용 방법 및 예제

ArrayList의 add() 메소드는 인자로 전달된 객체를 리스트에 추가합니다. 인자가 다른 두개의 메소드가 있습니다. ArrayList.add(E e)는 리스트에 인자로 전달된 객체를 추가합니다. ArrayList.add(int index, E e

codechacha.com

 

반응형