반응형
https://www.acmicpc.net/problem/1110
#C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110
#1. 2자리 3자리 정도는 / 과 %을 이용해서 각 자리수를 구하자.
2자리 정수에서 각 자리수는 나눗셈과 %연산으로 수행한다.
하지만 더 큰 자리수 라면 string에서 문자열을 분리해 내자.
#CF.
string k = "hello";
cout<<k.substr(1,1)+k.substr(2,1);
//k[1] + k[2] // 안되
///1110
#include<iostream>
#include<string>
using namespace std;
int main(){
int n; cin>>n;
string firstnum = to_string(n);
if(firstnum.size() == 1){
string tmp ="0"; tmp+=firstnum; firstnum = tmp;
}
string now = firstnum;
int ans = 0;
while(true){
string next;
if(now.size() == 1){
string tmp ="0"; tmp+=now; now =tmp;
}
char first = now[0];
char second = now[1];
int sum = first -'0' + second - '0';
next = to_string(sum);
if(next.size() == 1){
string tmp ="0"; tmp+=next; next =tmp;
}
string result = now.substr(1,1) + next.substr(1,1);
//cout<<result<<" ";
ans++;
if(result == firstnum){break;}
now = result;
}
cout<<ans<<"\n";
}
//FB1.
//
//string k = "hello";
//cout<<k.substr(1,1)+k.substr(2,1);
//k[1] + k[2] // 안되
#include<iostream>
using namespace std;
int main(){
int cycle = 0;
int num; cin>>num;
int n1 = num / 10;
int n2 = num % 10;
while(n1*10 + n2 != num || cycle == 0){
int tmp = n1+n2;
n1 = n2;
n2 = tmp % 10;
cycle++;
}
cout<<cycle<<"\n";
}
//FB1.
/*
2자리 정수에서 각 자리수는 나눗셈과 %연산으로 수행한다.
*/
플라즈마 IT 블로그 - 코딩 공부 정리, IT 정보 공유
https://plasmacodeing.tistory.com/
조금이라도 도움이 되었다면 공감 및 댓글 주세요~~
반응형
'알고리즘 > 백준[BOJ] 오답노트' 카테고리의 다른 글
다이나믹 프로그래밍 오버플로어 - 백준 알고리즘 오답노트 1012 (0) | 2019.05.07 |
---|---|
배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260 (0) | 2019.05.06 |
C++ int 오버플로어 예측 - 백준 알고리즘 오답노트 2004 (0) | 2019.05.06 |
알고리즘 문제풀이전에 할것. 자료구조 선택하기 - 백준 알고리즘 오답노트 1012 (0) | 2019.05.06 |
별 찍기 5 - 백준 알고리즘 오답노트 2442 (0) | 2019.05.06 |