Algorithm(Javascript)

알고리즘 문제 10

물리하는 코딩 2021. 11. 1. 21:06

 

const complexNumberMultiply = (a, b) => {
  let realNum1 = Number(a.split('+')[0])
  let fakeNum1 = Number(a.split('+')[1].split('i')[0])
  let realNum2 = Number(b.split('+')[0])
  let fakeNum2 = Number(b.split('+')[1].split('i')[0])
  let answerRealNum = realNum1*realNum2 - fakeNum1*fakeNum2
  let answerFakeNum = realNum1*fakeNum2 + realNum2*fakeNum1
  return String(answerRealNum) + '+' + String(answerFakeNum) + 'i'

}

 

이 문제는 split메소드를 잘 사용해야된다. 허수와 실수 부분은 항상 뒤에 있는 +기호로 나누어지기때문이다.

 

split사용방법

 

그래서 실수부분은 '+'부분으로 쪼개서 반환된 배열중 0번 인덱스를 할당해주고 허수부분은 1번인덱스를 할당해준다.

그렇게 실수 허수 부분을 다 나누고나서 문자열로 다시 합쳐줘서 반환을 해준다.