검색 안하고 (문법이나 헤더 제외) 푼 첫 문제다! 룰루랄라
다 풀고나서 검색해보니까 사람마다 굉장히 여러가지 해답으로 풀어내는 것 같다.
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 |
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 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 |