Monday_July_20
.
.
.
๋ ๊ฐ์ input์๋ ๋ณต์์(complex number)๊ฐ string ์ผ๋ก ์ฃผ์ด์ง๋๋ค.
๋ณต์์๋ a+bi ์ ํํ๋ก, ์ค์์ ํ์๋ก ์ด๋ฃจ์ด์ง ์์ ๋๋ค.input์ ํญ์ a+bi ํํ์ ๋๋ค.
output๋ a+bi ํํ๋ก ๋์์ผ ํฉ๋๋ค.input์ผ๋ก ๋ฐ์ ๋ ์๋ฅผ ๊ณฑํด์ ๋ฐํํด์ฃผ์ธ์.
๋ฐํํ๋ ํํ๋ ๋ณต์์ ํํ์ string ์ด์ด์ผ ํฉ๋๋ค.์์ 1:
Input: "1+1i", "1+1i"
Output: "0+2i"
์ค๋ช :
(1 + i) * (1 + i) = 1 + i + i + i^2 = 2i
2i๋ฅผ ๋ณต์์ ํํ๋ก ๋ฐ๊พธ๋ฉด 0+2i.์์ 2:
Input: "1+-1i", "1+-1i"
Output: "0+-2i"
์ค๋ช :
(1 - i) * (1 - i) = 1 - i - i + i^2 = -2i,
-2i๋ฅผ ๋ณต์์ ํํ๋ก ๋ฐ๊พธ๋ฉด 0+-2i.์์ 3:
Input: "1+3i", "1+-2i"
Output: "7+1i"
์ค๋ช :
(1 + 3i) * (1 - 2i) = 1 - 2i + 3i -6(i^2) = 1 + i + 6,
7+i๋ฅผ ๋ณต์์ ํํ๋ก ๋ฐ๊พธ๋ฉด 7+1i.
def complexNumberMultiply(a, b): def split_num(com_num_str): if '+' in com_num_str: com_num_str_list = com_num_str.split('+') com_num_str_int = int(com_num_str_list[0]) com_num_str_com_num = int(com_num_str_list[1][:-1]) elif '-' in com_num_str: com_num_str_list = com_num_str.split('-') com_num_str_int = int(com_num_str_list[0]) com_num_str_com_num = -(int(com_num_str_list[1][:-1])) return { 'int':com_num_str_int, 'com_num':com_num_str_com_num } a_int = split_num(a)['int'] a_com_num = split_num(a)['com_num'] b_int = split_num(b)['int'] b_com_num = split_num(b)['com_num'] first = a_int * b_int second = a_int * b_com_num third = a_com_num * b_int fourth = a_com_num * b_com_num int_result = f'{first+(-fourth)}+{second+third}i' str_result = str(int_result) return str_result
์ผ๋จ ๋ฌธ์ ์์ ๋งํ๋ฏ string์ผ๋ก ๋ฐ๊ณ ๋ง์ง๋ง์ string์ผ๋ก ์ถ๋ ฅ์ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ input๊ณผ output์ด ๋ชจ๋ ๊ฐ์ ์ ์ ์ด์ฉํ์ฌ
2๊ฐ์ argument๋ค์ input์ split() ํจ์๋ฅผ ์ด์ฉํด '์ค์' ๋ถ๋ถ๊ณผ 'ํ์' ๋ถ๋ถ์ผ๋ก ๋๋์ด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ '์ค์'์ 'ํ์'๋ฅผ intํ์ ๋ฐ๊ฟ์ค๋๋ค.
๋ฌผ๋ก ์ฌ๊ธฐ์ 'ํ์' ๋ถ๋ถ์ ๋ค์ i๋ฅผ index๋ฅผ ์ด์ฉํ์ฌ ๋ฒ๋ ค์ค๋๋ค.
์๋ํ๋ฉด ์ผ๋จ intํ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ ๊ณ์ฐํ, output์ ํํ๊ฐ input๊ณผ ๊ฐ์ด
๋ณต์์์ ํํ์ด๊ธฐ ๋๋ฌธ์ ๋ง์ง๋ง์ ๊ณ์ฐ์ด ๋ค ๋๋๊ณ intํ์ ํ์
๋ค์ strํ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ i๋ฅผ ์ถ๊ฐ ํ
๋ฆฌํดํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
๊ทธ๋ฆฌ๊ณ input๊ฐ์ผ๋ก๋ ๋ฌด์กฐ๊ฑด +๋ ๋ค์ด์ค๋๋ฐ ๋ง์ฝ ํ์๋ถ๋ถ์ด ์์๊ฐ ๋ค์ด์จ๋ค๋ฉด '+-' ์ ๊ฐ์ ํํ๋ก
๋ค์ด์ค๊ธฐ ๋๋ฌธ์ ์ด ์ ์ ์ ์ํด์ ๋ก์ง์ ์ง์ค์ผ ํฉ๋๋ค.
์ฌ์ค ์ ๊ฐ ์ง ๋ก์ง๋ '๋ณต์์'๋ฅผ '์ค์'์ 'ํ์'๋ก ๋๋ ์ฃผ๋ ํจ์์ ๋ก์ง์ด ์ด์ํด ๋ณด์ผ ์ ์์ง๋ง,
์ด ๋ฌธ์ ์ ๋ํด์ ๋งํผ์ ์ ํ ์ง์ฅ์ด ์์ต๋๋ค.