Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
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
Archives
Today
Total
관리 메뉴

행복한 개구리

(Python/C#/C++) 백준 2588번 - 곱셈 본문

Algorithm/BaekJoon

(Python/C#/C++) 백준 2588번 - 곱셈

HappyFrog 2022. 7. 11. 20:19


 

 

 

(1)의 수를 (2)의 각 자리수와 따로 곱한 뒤 (3) + ((4)*10) + ((5)*100) = (6)이 되는 것을 알면 됩니다.

 

 

 

Python


a = int(input())
b = input()
mults = list(map(int, b))

result = []

third = a*mults[-1]
fourth = a*mults[-2]*10
fifth = a*mults[0]*100

result = [third, fourth//10, fifth//100, third + fourth + fifth]

for i in result:
    print(i)

 

 

 

C#


int a = int.Parse(Console.ReadLine());
string b = Console.ReadLine();

char[] c = b.ToCharArray();

int[] nums = new int[3];


for (int i = 0; i < 3; i++) 
{
    nums[i] = int.Parse(c[i].ToString());
}


int[] result = new int[4] { a * nums[2], a * nums[1], a * nums[0], a * (nums[2] + nums[1]*10 + nums[0]*100) };

for (int i = 0; i < result.Length; i++)
{
    Console.WriteLine(result[i]);
}

string형식으로 받은 b를 ToCharArray를 통해 각 글자를 배열로 만들어줍니다.

 

이것을 반복문을 통해 int로 형변환하여 nums 배열에 저장합니다.

 

nums의 요소를 이용하여 값을 계산하고 이것을 result에 저장합니다.

 

반복문을 통해 result의 요소들을 출력합니다.

 

 

 

C++


#include <iostream>

using namespace std;

int main() {
	int a, b;
	cin >> a;
	cin >> b;
		
	int result[4] = {a * (b % 10), a * (b / 10 % 10), a * (b / 100), a * b};

	for (int i = 0; i < sizeof(result)/sizeof(int); i++) {
		cout << result[i] << endl;
	}
}

C++에서 배열의 길이를 구할땐 sizeof함수를 사용합니다.

 

하지만 sizeof함수의 반환값은 byte로서의 반환이므로 sizeof(result)는 4가 아닌 16이 반환됩니다.

 

따라서 이걸 sizeof(int) = 4로 나누어주면 됩니다.