프로그래밍/알고리즘

백준 알고리즘 1110번 : 더하기 사이클 (C++, JAVA)

김민쏭 2019. 10. 21. 17:52

 

검색 안하고 (문법이나 헤더 제외) 푼 첫 문제다! 룰루랄라

다 풀고나서 검색해보니까 사람마다 굉장히 여러가지 해답으로 풀어내는 것 같다.

 

C++

 

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
32
33
34
35
36
37
#include <iostream>
#include <cstring>
#include <cstdlib>
 
using namespace std;
 
int main() {
    
    int n;
    
    cin >> n;    
        
    int a, b;
    
    a = n / 10;
    b = n % 10;
    
    int sum, tmp;
    
    for(int i=1; ; i++){
        
        sum = a + b;
        if(sum >= 10)
            sum %= 10;
        tmp = (b * 10+ sum;
        
        if(tmp == n){
            cout << i << endl;
            break;
        }else{
            a = tmp / 10;
            b = tmp % 10;
        }
        
    }
        
}
cs

 

나 같은 경우에는 입력받은 숫자를 앞과 뒤로 분리했다.

그리고 for문을 돌면서...그냥 문제에 써있는 조건을 그대로 이행했다.

 

여러 풀이방법이 있고 나보다 훨씬 깔끔하고 간결하게 짠 사람들도 많지만 어쨌든 해법에 대한 검색없이 푼 첫 문제임에 아주아주 만족...

 

JAVA 코드 또한 같은 방식으로 풀었다. 생각보다 언어를 바꾼다고 다양하게 푸는 경우가 잘 안나오는 것 같다.

내장함수의 차이가 아니면...

 

JAVA

 

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
32
33
34
35
36
37
38
39
40
41
42
43
package java_algorithm;
 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
 
public class Baekjoon_1110 {
 
    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        // BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int n = sc.nextInt();
        
        int a = n / 10// 앞
        int b = n % 10// 뒤
        
        int sum, tmp;
        
        for(int i=1; ;i++) {
            
            sum = a + b;
            if(sum >= 10)
                sum %= 10;
            tmp = (b * 10+ sum;
            
            if(tmp == n) {
                System.out.println(i);
                break;
            }
            
            a = tmp / 10;
            b = tmp % 10;
            
        }
        
        
        
    }
    
}
 
cs