Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발자 도전기

[국비지원] 37일차 - 소인수분해 본문

개발공부/TIL

[국비지원] 37일차 - 소인수분해

jnnjnn 2024. 3. 29. 20:43

프로그래머스 입문 / 소인수분해

이미지를 클릭하면 문제로 이동

입출력 예시

 

주어진 숫자 n의 소인수를 순서대로 정렬한 배열을 구하는 문제이다

 

1) 숫자 n 약수를 구하기 위해 조건 n % i == 0 을 사용하였다

2) 약수 중에서도 소수인 것만 구하기 위해 n % i == 0 일 동안 n /= i 을 해주었다

3) 조건에 맞는 소인수를 담아 리턴했다

import java.util.*;

class Solution {
    public int[] solution(int n) {
        List<Integer> list = new ArrayList<>();
        for(int i = 2; i<=10000; i++){
            if(n%i == 0){
            list.add(i);
            if(n/i == 1){break;}
            while (n % i == 0) {
                    n /= i;
                }
            }
        }
        
        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

 

 

추가로, 다른 사람의 풀이를 보고 LinkedHashSet에 대해 알게 되었다.

 

- 중복된 값을 허용하지 않고

- 삽입된 순서를 유지하는 특징이 있어서

 

코딩 테스트할 때 유용하게 사용할 수 있을 것 같다

 

 

오늘은 Socket을 활용해서 네트워크 통신을 하는 것을 배웠는데 여태까지 배운 것을 활용할 수 있어서 재미있는 시간이었다

 

추가로 스터디에서 시간 복잡도를 발표하였다

 

2024.03.29 - [개발공부/JAVA] - [JAVA] 네트워크 입출력

 

[JAVA] 네트워크 입출력

서버와 클라이언트 -네트워크는 여러 컴퓨터들을 통신 회선으로 연결한 것을 말한다 -네트워크에서 서비스를 제공하는 프로그램을 서버라고 부른다 -서비스를 요청하는 프로그램을 클라이언트

abc-datatype.tistory.com

 

2024.03.27 - [개발공부/코딩용어] - [Study] 시간복잡도, Big-O

 

[Study] 시간복잡도, Big-O

🚩시간복잡도란? 알고리즘의 성능을 표기하기 위해 사용한다. '완료까지 걸리는 절차의 수'라고 생각하면 된다 완료까지 N단계가 걸리는 알고리즘의 시간복잡도는 O(N)이다. 가장 시간복잡도가

abc-datatype.tistory.com

 

'개발공부 > TIL' 카테고리의 다른 글

[국비지원] 39일차  (0) 2024.04.02
[국비지원] 38일차 - Hello git  (0) 2024.04.01
[국비지원] 36일차 - PrintStream, File  (0) 2024.03.29
[국비지원] 35일차 - I/O Stream  (0) 2024.03.28
[국비지원] 34일차 - Thread  (0) 2024.03.26