티스토리 뷰
더하기 사이클 문제!
처음 보고서는 꽤나 번거롭겠군 생각했지만 막상 풀다보니 재밌었다.
package boj_basic.step3;
import java.util.Scanner;
public class Q1110 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int NUM = 0;
int i = 0;
NUM = (num%10)*10 + ((num/10 + num%10)%10);
while(true) {
if(NUM!=num) {
NUM = (NUM%10)*10 + ((NUM/10 + NUM%10)%10);
i++;
}
else {
if(NUM == num);
break;
}
}
System.out.println(i+1);
}
}
근데 풀면서도 내가 더럽게 풀고 있구나... 지금 내 코드가 되게 더럽구나...를 확실히 느낄 수 있었다..
어거지로 맞추긴 했지만 뭔가 더 좋은 풀이방법이 있겠다 싶어 다른 분들의 코드를 참고해보았는데..
package boj_basic.step3;
import java.util.Scanner;
public class Q1110_1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int i = 0;
int copy = num;
while(true) {
num = ((num%10)*10) + ((num/10) + (num%10)) %10;
i++;
if(copy == num) {
break;
}
}
System.out.println(i);
}
}
확실히 깔끔하다.....
나처럼 NUM을 만들어 처음에 계산시키고 나중에 i+1을 하는 방법보단
그냥 간단하게 copy=num으로 숫자를 복사해주면 될 일이었다!!!
최대한 깔끔한 코드를 만들 수 있도록 계속해서 노력해봐야겠다.
'알고리즘' 카테고리의 다른 글
백준 #1316 java 2023.01.15 (0) | 2023.01.15 |
---|---|
백준 #2941 java 2023.01.15 (0) | 2023.01.15 |
백준 #1065 java 2023.01.13 (1) | 2023.01.13 |
백준 #4673 java 2023.01.13 (0) | 2023.01.13 |
백준 #3052 java 2023.01.11 (0) | 2023.01.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스프링부트
- 지연로딩
- SQLD
- 북마크
- 웹 MVC
- 프론트엔드
- 로깅
- 백준 파이썬
- 커뮤니티
- elasticsearch
- 스프링
- 영속
- 비영속
- JPA
- SQL 레벨업
- 자바 스프링
- 백준
- DP
- SQL
- EnumType.ORDINAL
- 회원탈퇴
- 다이나믹 프로그래밍
- 인텔리제이
- 파이썬
- 웹MVC
- 자바
- 준영속
- 로그아웃
- 스프링 북마크
- 스프링 커뮤니티
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함