일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Notice
Recent Posts
Recent Comments
Link
Tags
- 자바 합성수 찾기
- 스프링 부트 배너 설정
- 왓챠피디아 클론 코딩
- 배열 순환
- 스프링 부트 프로젝트 세팅
- 정처기 필기 벼락치기
- 비전공자 정처기 필기
- cursor 설치
- 스프링부트 의존성 설정
- cursor 우클릭 메뉴
- 오블완
- 배열 순환 자바
- 프로그래머스 문자열 정렬하기(1)
- 자바 소인수분해
- 피그마 썸네일
- 프로그래머스 공 던지기 게임
- 프로그래머스
- 소인수분해 구하는 공식
- 정보처리기사 필기
- 비전공자 정보처리기사 필기
- 경우의 수 자바
- 자바 팩토리얼
- 배열 순환 문제 공식
- 숨어있는 숫자의 덧셈 (1) 자바
- 접속 url 출력
- spring boot 배너 설정
- 펙토리얼
- 정보처리기사 필기 벼락치기
- string과 stringbuilder 성능 최적화
- 티스토리챌린지
Archives
- Today
- Total
여름 언덕에서 배운 것
[0단계] 콜라츠 수열 만들기 본문
* 재귀함수 사용을 생각을 못함 흑흑
* 자기 자신의 숫자도 들어가야 하기 때문에 add (n)을 먼저 해줘야 한다는 것도 포인트!
왜 while 쓸 생각을 못햇지
list.add(n);
while (n != 1) {
if (n % 2 == 0) {
n /= 2;
} else {
n = (3 * n) + 1;
}
list.add(n);
}
import java.util.*;
class Solution {
public int[] solution(int n) {
List<Integer> list =new ArrayList<>();
madeCollatz(n,list);
int[] answer = new int[list.size()];
for(int i=0;i<list.size();i++){
answer[i] = list.get(i);
}
return answer;
}
public void madeCollatz(int n , List<Integer>result){
result.add(n);
if(n==1){
return;
}
if(n%2==0){
n/=2;
madeCollatz(n,result);
}else{
n=(3*n+1);
madeCollatz(n,result);
}
}
}
728x90
'가랑비에 옷 젖는 줄 모른다 💻 > 🌰코테문풀_꾸준히' 카테고리의 다른 글
[0단계]주사위 게임 3 - 빈도수 이용 ,getOrDefault (0) | 2025.01.19 |
---|---|
[0단계] 배열 만들기 4 (1) | 2025.01.17 |
[0단계]배열 만들기 2 (0) | 2025.01.15 |
[0단계]수열과 구간 쿼리 4 (0) | 2025.01.14 |
[0단계]수열과 구간 쿼리 2 (0) | 2025.01.13 |