728x90
728x90
https://www.acmicpc.net/problem/1110
= 문제푸는 팁 =
처음에는 문제 자체가 이해가 안되서, 문제를 계속 뚫어져라 쳐다봤다.
이어붙이면 새로운 수를 만들 수 있다는 말에서 이어붙인다는게 무슨 말인가 고민하다가, 노트를 꺼내서 예시를 받아 적으면서
무슨말인지 이해가 가능했다.
1) 하나의 자리당 하나의 알파벳으로 나타낸다면 아래와 같고,
주어진 수가 ab라면, a+b = cd 이다.
새로운 수는 b+d 이다, (때에 따라서 c가 0일 수도 있는 것이다)
2) 두자리수의 수를 n이라고 한다면, n의 일의 자리 숫자가 새로운 값의 십의 자리수가 되고,
n의 십의 자리수와 일의 자리수를 더한 값의 일의 자리수는 새로운 값의 일의 자리수가 된다.
= 해설 =
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
if(n<10)
n*=10;
//입력한 수가 10미만일 때는 두 자리수로 만들기위해 10 곱하기
int 첫째자리수, 둘째자리수, cnt = 0;
int sum = n;
while(true){
첫째자리수 = sum/10;
둘째자리수 = sum%10;
sum = 첫째자리수 + 둘째자리수;
sum = 둘째자리수 * 10 + sum % 10;
//%10하는 이유는 두자리수이면 일의 자리 수를 써야하기 때문
cnt++; //조건이 맞을 때 까지 true란 조건으로 무한반복!
if (sum == n)
break;
}
System.out.println(cnt);
}
}
확실히 아직 개발자로서 부족하다고 느끼는 부분이 이런 부분인 것 같다.
문제 자체를 보고서도 이걸 어떻게 푸는건가 문제 자체를 해석하고있으니 넘 속상한 것..
진짜 너무 오랜만에 코딩테스트를 하는것같다..
프로젝트랑 별개로 꼭 문제를 풀어봐야 확실히 실력이 느는거같다!
728x90
'백준 코딩테스트 > while문 + 1차원 배열' 카테고리의 다른 글
[백준] [자바] 10951번 : A+B - 4 (4단계 : while문) (0) | 2021.09.13 |
---|---|
[백준] [자바] 10952번 : A+B-5 (4단계 : while문) (0) | 2021.09.07 |