프로그레머스 0단계 약수 구하기 문제 입니다!
https://school.programmers.co.kr/learn/courses/30/lessons/120897
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
● 문제설명
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
<제안사항>
1) 1<=n<=10,000
● 내가 직접 짜본 코드
import java.util.ArrayList;
class Solution {
public ArrayList<Integer> solution(int n) {
ArrayList<Integer> answer = new ArrayList<Integer>();
for(int i=1; i<=n; i++){
if(n%i==0){
answer.add(i);
}
}
return (answer);
}
}
● 문제설명
1) arraylist를 사용하여 answer 배열을 선언해 주고
2) n과 i를 나눈 나머지가 0일때
3) add메소드를 사용하여 answer에 i를 하나씩 넣어줬습니다
● 나애 Arraylist...
제가 arraylist에 대한 썰이 하나 있는데요! 저번 자바 프로젝트 하면서 처음으로 arraylist에 접해봤습니다.
이번 문제를 보자마자 딱 원하는 만큼의 배열 크기로, 간편하게 문제를 해결할 수 없을까?
생각을 해보니 arraylist가 딱 떠오르더군요!
근데 오랜만에 다시 써보려니 까먹은 부분이 있어서 구글링에 조금 도움 받아서 문제를 해결해 봤습니다 ㅎㅎ
이제 더이상 까먹지 않게 arraylist를 영깅이 방식으로 정리해볼게요!
● Arraylist
arraylist와 일반 배열의 가장 큰 차이점은 크기입니다!
일반 배열은 크기가 고정되어 있는 반면에 arraylist는 배열 크기를 마음대로 조절할 수 있죠
먼저 import.java.util.ArrayList; 라는 자바라이브러리를 추가해줘야 합니다.
그 다음 ArrayList<자료형> 변수명 = new ArrayList<자료형>(); 으로 arraylist를 선언해 줄 수 있습니다
add() 메소드를 사용하면 기본적으로 리스트의 가장 끝에 값이 추가됩니다!
이걸 하면서 구글링을 더 해보니까 set라는 메소드도 있군요!
set()를 사용하면 원하는 index에 값을 마음대로 바꿀 수 있습니다.
set(바꿀 index, 넣을 값); << 이렇게 사용해주면 됩니다!!
긴 블로그 읽어주셔서 감사하고 하트 ... 눌러줘요 ㅎㅎ
'CodingTest' 카테고리의 다른 글
프로그래머스 - 잘라서 배열로 저장하기 (JAVA) (0) | 2023.01.10 |
---|---|
프로그래머스 - n의 배수 구하기 (JAVA) (0) | 2023.01.06 |
프로그래머스 - 머쓱이보다 키 큰 사람 (JAVA) (0) | 2023.01.05 |
프로그래머스 - 최댓값 만들기 (JAVA) (0) | 2023.01.03 |
프로그래머스 - 7의 개수(JAVA) (0) | 2023.01.03 |