pullwall
Well done! 코딩
pullwall
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • 개발환경 (2)
    • java study (21)
    • 백준 단계별 (51)
    • 알고리즘 (3)
    • AI (43)
    • 클라우드 (3)
      • Kubernetes in Google (3)
    • 논문 (5)
    • 리눅스 (1)
    • AWS (4)
    • 수학 (15)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바독학
  • Google
  • Ai
  • 쿠버네티스
  • pytorch
  • 백준 단계별
  • dataset
  • 수학
  • Java
  • 알고리즘
  • LLM
  • 정렬알고리즘
  • 단계별
  • 자바
  • AWS
  • 정렬
  • 백준
  • 논문리뷰
  • Kubernetes
  • 선택정렬

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

백준 단계별

[Java] 백준 1110: 더하기 사이클

2023. 1. 5. 14:21
728x90
더보기

망한코드

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int num = sc.nextInt();
		int[] num_2 = new int[2];
		int[] arr_1 = new int[2];
		int[] arr_2 = new int[2];
 		
		if(num<10) {
			int i = 0;
			while(true) {
            	arr_1[0] = 0;
				arr_1[1] = num;
				arr_2[0] = arr_1[0] + arr_1[1];
				num_2[0] = arr_1[1];
				num_2[1] = arr_2[0];
				
				num_2[0] = arr_1[0];
				num_2[1] = arr_1[1];
				
				i++;
				if(num == (10*num_2[0])+num_2[1]) {
					System.out.print(i);
					break;
				}
			}
		}
		
		else {
			int k = 0;
			while(true) {
            	arr_1[0] = num/10;
				arr_1[1] = num%10;
				arr_2[0] = (arr_1[0]+arr_1[1])/10;
				arr_2[1] = (arr_1[0]+arr_1[1])%10;
				
				num_2[0] = arr_1[1];
				num_2[1] = arr_2[1];
				
				arr_1[0] = num_2[0];
				arr_1[1] = num_2[1];
				
				k++;
				if(num == (10*num_2[0])+num_2[1]) {
					System.out.print(k);
					break;
				}
			}
		}
	}
}
import java.util.*;
 
public class Main {
	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
 
		int N = sc.nextInt();
        
		int cnt = 0;
		int copy = N;
        
		while (true) {
			N = ((N % 10) * 10) + (((N / 10) + (N % 10)) % 10);
			cnt++;
 
			if (copy == N) {
				break;
			}
		}
		System.out.println(cnt);
	}
}

쓸데없이 배열로 10의자리와 1의자리를 나누어 조작하다가 망한 문제.. 시간초과났다.

아마 알고리즘이 잘못돼서 루프가 끝나지 않고 계속 돌아가서겠지..

 

한방에 새로운 수 N을 구해낼 수 있는 알고리즘이 존재하는 문제다.

728x90

'백준 단계별' 카테고리의 다른 글

[Java] 백준 10871: X보다 작은 수  (0) 2023.01.05
[Java] 백준 10807: 개수 세기  (0) 2023.01.05
[Java] 백준 10951: A+B - 4  (0) 2023.01.05
[Java] 백준 10952: A+B - 5  (0) 2023.01.04
[Java] 백준 2438: 별 찍기 - 1  (0) 2023.01.04
    '백준 단계별' 카테고리의 다른 글
    • [Java] 백준 10871: X보다 작은 수
    • [Java] 백준 10807: 개수 세기
    • [Java] 백준 10951: A+B - 4
    • [Java] 백준 10952: A+B - 5
    pullwall
    pullwall

    티스토리툴바