code-kata(3)

이하영·2022년 4월 30일
0

문제

두 개의 input에 복소수(complex number)가 string 으로 주어집니다. 복소수란 a+bi 의 형태로, 실수와 허수로 이루어진 수입니다.

input으로 받은 두 수를 곱해서 반환해주세요. 반환하는 표현도 복소수 형태의 string 이어야 합니다.

복소수 정의에 의하면 (i^2)는 -1 이므로 (i^2) 일때는 -1로 계산해주세요.

(제곱 표현이 안 되어 i의 2제곱을 (i^2)라고 표현했습니다.)

const complexNumberMultiply = (a, b) => {
  // 여기에 코드를 작성해주세요.
let aArr = a.split('+')
let bArr = b.split('+')

  // 자연수 계산 
let nFirst = aArr[0] * bArr[0]  
let nSec = -(parseFloat(aArr[1]) * parseFloat(bArr[1]))
  let nAnswer = nFirst + nSec
  
  // 허수 계산
let iFirst = aArr[0] * parseFloat(bArr[1])
let iSec = parseFloat(aArr[1]) * bArr[0]

  let iAnswer = iFirst + iSec

  // 정답 배치
let Answer = [nAnswer, iAnswer+"i"]
let realAnswer = Answer.join('+')
  
return realAnswer
}

module.exports = { complexNumberMultiply };

0개의 댓글