1번 문제 (https://www.acmicpc.net/problem/1110)
public class Prac1 {
public static int Solution( int n){
int answer = 0;
int a = 0, b = 0, k = n;
while(true){
a = k / 10; // 10의 자리 n < 10 a == 0
b = k % 10;
k = a + b;
k = b * 10 + k % 10;
answer++;
if( k == n)
break;
}
return answer;
}
public static void main(String[] args) {
System.out.println(Solution(1));
}
}
/*
1. n 10의 자리 더하기 n 1의자리 = a
2. n의 1의 자리 a의 1의 자리 = 새로운 수
3. 처음 수와 새로운 수가 같으면 break;
*/
2번 문제 (https://www.acmicpc.net/problem/18258)
public class Prac3 {
public static void main(String[] args) {
int x1 = 1, y1 = 1, r1 = 1;
int x2 = 1, y2 = 1, r2 = 5;
double k= 0;
int n = 0;
k = Math.pow(x1-x2, 2) + Math.pow(y1-y2, 2);
k = Math.sqrt(k);
if(Math.abs(r1 - r2) < k && k < r1+ r2){
n = 2;
}else if( k == r1 + r2){
n = 1;
}else{
n = 0;
}
System.out.println(n);
}
}
//(x - x1)^2 + (y - y1)^2 = r1^2
//(x - x2)^2 + (y - y2)^2 = r2^2
//서로 접하는 좌표의 갯수
오늘 풀 문제는 6문제 였는데, 배열의 스택, 큐를 쓰는 등의 문제는
아직 지식이 부족해서 풀지 못하였다.
좀 더 공부하고 배워서 익숙해 진 후 다시 도전할 예정이다.
아직 Math 함수도 오늘 있다는 것을 알고 찾아 쓴거라 익숙하지 않아 이해는 완벽히 하지는 못했지만
손에 익는다면 정말 편한 함수가 될 것이라 생각한다.