알고리즘 10일차

  1. 문제 : 허수가 문자열로 들어올 때 계산
  • 앞에 0이 와도 0 + 2i 를 만듦. 단 앞에 정수가 제대로 있으면 0이 붙으면 안 됨.
import math

def complex_number_multiply(a, b):
  na = a.split('+')
  nb = b.split('+')
  # 먼저 '+'를 split해서 새로운 것 만듦


  na1 = int(na[0])
  na2 = int(na[1][:-1])
  nb1 = int(nb[0])
  nb2 = int(nb[1][:-1])
  # 리스트로 만들어진 것(split은 리스트)숫자, i와 붙어있는 수를 따로 뗌.(이중 [][]로 숫자만 뗄 수 있음.)


  result = str(na1*nb1 - na2*nb2) + "+" + str(na1*nb2+na2*nb1) + "i"
  # 왜 -를? : 허수는 제곱이 음수이므로.
  return result
print(complex_number_multiply('1+1i', '1+1i'))
  1. 잘 몰랐던 점 : 리스트 안에 요소에 대한 인덱스의 인덱스를 뽑는 방법
  na2 = int(na[1][:-1])
  > '-1i'-1, i로 쪼개짐
  1. 허수가 제곱이 될 때 -가 된다는 것을 -로 해결한다.
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글

관련 채용 정보