김민쏭
REPOSITORY
김민쏭
전체 방문자
오늘
어제
  • 분류 전체보기 (69)
    • 원앙둥지 (17)
      • 2022 홋카이도 (6)
      • 2024 후쿠오카 (3)
    • 프로그래밍 (51)
      • 정리노트 (11)
      • Spring (5)
      • Javascript (7)
      • Database (7)
      • 알고리즘 (11)
      • 좋은글_갈무리 (3)
      • 기타 (3)

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
김민쏭

REPOSITORY

백준 알고리즘 1110번 : 더하기 사이클 (C++, JAVA)
프로그래밍/알고리즘

백준 알고리즘 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;
            
        }
        
        
        
    }
    
}
 
Colored by Color Scripter
cs
저작자표시 (새창열림)

'프로그래밍 > 알고리즘' 카테고리의 다른 글

백준 알고리즘 2420번 : 사파리월드 (C++, JAVA)  (0) 2019.10.21
백준 알고리즘 1009번 : 분산처리 (C++, JAVA)  (0) 2019.10.21
백준 알고리즘 1920번 : 수 찾기 (JAVA)  (0) 2019.10.21
백준 알고리즘 1920번 : 수 찾기 (C++)  (0) 2019.10.21
백준 알고리즘 1037번 : 약수 (JAVA)  (0) 2019.10.19
    '프로그래밍/알고리즘' 카테고리의 다른 글
    • 백준 알고리즘 2420번 : 사파리월드 (C++, JAVA)
    • 백준 알고리즘 1009번 : 분산처리 (C++, JAVA)
    • 백준 알고리즘 1920번 : 수 찾기 (JAVA)
    • 백준 알고리즘 1920번 : 수 찾기 (C++)
    김민쏭
    김민쏭
    예예,,,저장소임더,,,

    티스토리툴바