플라즈밍
플라즈마 IT
플라즈밍
  • All (163)
    • MindSet (2)
    • Wisdom (8)
    • Book (18)
    • [Web] (6)
      • [Web]Guide (2)
      • [Web]HTML-CSS-JS (1)
      • [Web]ReactJS (0)
      • [Web]NextJS (1)
    • 퀀트주식투자 (4)
      • [리포트]포트폴리오 (4)
    • 자산배분전략 (2)
      • [리포트]자산배분전략 (1)
    • 포트폴리오 (0)
      • 발걸음 (0)
    • 개발 Note (3)
    • TipNote (5)
    • 알고리즘 (27)
      • 백준[BOJ] 오답노트 (27)
      • 백준[BOJ] 강의 정리 노트 (0)
    • etc-posts (18)
      • Unity :: C# 튜토리얼 (18)
    • Web&Know (23)
    • 끄적임 (4)
    • 세상이슈 (0)
    • Youtube 유튜브 (3)
      • Youtube 채널소개 (3)
    • 창업 Know&Idea (1)
    • Web&Dev (4)
    • 프로젝트 (6)
      • Unity5 Project (3)
      • UnrealEngine4 Project (2)
      • Web Page (1)
    • 주가차트-기술적분석 (2)
    • BlockChain (7)
    • SystemDesign (11)

인기 글

최근 글

hELLO · Designed By 정상우.
플라즈밍

플라즈마 IT

알고리즘/백준[BOJ] 오답노트

C 숫자 각 자리수 분해. 이,일의 자리수 분해 - 백준 알고리즘 오답노트 1110

2019. 5. 6. 20:05
반응형

https://www.acmicpc.net/problem/1110

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 =

www.acmicpc.net

 

#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
    '알고리즘/백준[BOJ] 오답노트' 카테고리의 다른 글
    • 다이나믹 프로그래밍 오버플로어 - 백준 알고리즘 오답노트 1012
    • 배열 초기화 방법 fill vs memset - 백준 알고리즘 오답노트 1260
    • C++ int 오버플로어 예측 - 백준 알고리즘 오답노트 2004
    • 알고리즘 문제풀이전에 할것. 자료구조 선택하기 - 백준 알고리즘 오답노트 1012
    플라즈밍
    플라즈밍
    퀀트 주식투자 자산배분 데이터분석 정보 공유 프로그래밍,투자 주제의 책 강의 리뷰 노하우 전수

    티스토리툴바