C++/C++ 알고리즘

백준 23037번 5자리 각 숫자 5제곱 해서 더하기

kimc 2021. 9. 12. 23:45

```

백준 23037번 5자리 각 숫자 5제곱 해서 더하기

```

 

이번 글을 통해 배워갈 내용

  1.  백준 23037번 풀이

 

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

 

23037번: 5의 수난

키파는 문득 3과 4의 견고한 벽에 가로막혀 스포트라이트를 받지 못하는 5를 떠올렸다. '세상에 얼마나 많은 것들이 5와 관련이 있는데!' 키파는 5가 쓰이는 곳을 떠올리기 시작했다. 사람의 손가

www.acmicpc.net

 

 

백준 23037번 5의 수난은

난이도 브론즈 등급의 문제로서

 

5자리 숫자가 주어질때

각자리수를 5제곱해서 더한 수를 출력하는 문제이다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


%10 으로 modular로 나눠서

각 자리수를 구한다음 5제곱해주고

sum에 더하고

/10으로 자리수를 줄여주면서

반복한뒤

 

출력하면 됩니다.

 

전체 코드는 아래와 같습니다.

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <array>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <numeric>
#include <cmath>
#include <regex>

std::string gCommonStr;
std::string gNthStr;

int main()
{
	std::cin.tie(NULL);
	std::ios::sync_with_stdio(false);

	std::string inputStr;
	std::getline(std::cin, inputStr);
	std::stringstream ss(inputStr);
	
	int32_t inputNum;
	ss >> inputNum;

	long long sum = 0;

	while (inputNum != 0)
	{
		const int32_t digit = inputNum % 10;

		sum += std::pow(digit % 10, 5);

		inputNum /= 10;
	}

	std::cout << sum;
}

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩하시길 바랍니다 ~ :)

 

참조 및 인용

C++ Primer

Introduction to Algorithms


https://codemasterkimc.tistory.com/35

 

C++ 이론을 배울수 있는 곳 정리

개요  C++을 배우는 책, 강의, 블로그, 링크 등을 공유합니다. (링크 및 간략한 설명을 하였으나 만약 원작자가 링크를 거는것을 원치 않을 경우 연락주시기 바랍니다.) 서적 https://www.amazon.com/Prime

codemasterkimc.tistory.com

 

https://codemasterkimc.tistory.com/50

 

300년차 개발자의 좋은 코드 5계명 (Clean Code)

이번 글을 통해 배워갈 내용  좋은 코드(Clean Code)를 작성하기 위해 개발자로서 생각해볼 5가지 요소를 알아보겠습니다. 개요 좋은 코드란 무엇일까요? 저는 자원이 한정적인 컴퓨터 세상에서 좋

codemasterkimc.tistory.com

 


 

728x90