Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 바이트디그리
- 불끌때
- 홈CCTV
- 강아지 #박스집 #복층
- 부의감각
- 안드로이드 #앱개발#계산기
- 자바 인강
- 부르지마세요
- Ai
- 피온4
- 패스트캠퍼스
- 안드로이드
- 안드로이드#앱만들기#알바
- 안녕 디지몬
- K디지털크레딧
- Java & SpringBoot로 시작하는 웹 프로그래밍
- 랜덤스쿼드
- 랜덤
- #FIFAONLINE4
- 아두이노#작품#사료급식기
- fifaonline
- 내일배움카드
- 독서감상문
- 스쿼드 메이커
- 혼술 술자리 인싸앱
- fifaonline4
- D-ID
- 안드로이드 그림판#그림메모장#낙서장
- 강아지 스마트 펜스
- 박스#강아지집#만들기
Archives
- Today
- Total
LC Studio
백준 1110번 더하기 사이클 (JAVA) 본문
문제를 너무 어렵게 생각했나...
처음 입력받는 N의 값이
1. 10이하 1자리수
2. 10이상 2자리수인 경우를 나눠 알고리즘을 설계해 보았다.
package test;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int i = 1;
if(N<10){
int A = 0;
int B = N;
int C = A + B;
while(!(Integer.toString(B).concat(Integer.toString(C)).equals(Integer.toString(N))) ){
A = B;
B = C;
C = A + B;
if(C>10){
C = C%10;
}
i = i+1;
}
}
else{
int A = N/10;
int B = N%10;
int C = A + B;
if(C>10){
C = C%10;
}
while( !(Integer.toString(B).concat(Integer.toString(C)).equals(Integer.toString(N))) ){
A = B;
B = C;
C = A + B; //8
if(C>10){
C = C%10;
}
i++;
}
}
System.out.println(i);
}
}
위와같이 하면, 답이 나오긴 한다... 하지만 제출하면 메모리 초과라고 뜬다ㅋㅋㅋㅋ...(좌절)
혼자서 이리저리 궁리해보다 주어진 고민의 시간이 끝나 다른 분들의 풀이를 참고해 보았다.
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int copy = N;
int i = 0;
do{
N = ((N%10)*10)+(((N/10)+(N%10))%10);
i++;
}
while(N!=copy);
System.out.println(i);
}
}
이렇게 간단할수가...
기본적인 접근방식은 크게 다르지 않았다.
일단 초기 입력값 N에 %처리를 한번 더 해준다면 굳이 10이하, 10이상을 나눠서 처리할 필요가 없었다.
또한, 굳이 A = N/10, B=N%10 ,C = A+B 이런식으로 변수로 나눠 계산할 필요없이,
A,B,C에 해당하는 식 자체를 묶어서 처리했다.
배워갑니다......ㅎㅎ
반응형
'Java > 백준 알고리즘' 카테고리의 다른 글
백준 4344 평균은 넘겠지 (Java) (0) | 2022.03.15 |
---|---|
백준 8958번 (JAVA) (0) | 2022.03.14 |
백준 3052 나머지(JAVA) (0) | 2022.03.11 |
백준 2577번 숫자의 개수 (0) | 2022.03.11 |
백준 15552번 빠른 A+B (JAVA) (0) | 2022.03.10 |