문제
두 개의 input에는 복소수(complex number)가 string 으로 주어집니다.
복소수란 a+bi 의 형태로, 실수와 허수로 이루어진 수입니다.
input으로 받은 두 수를 곱해서 반환해주세요.
반환하는 표현도 복소수 형태의 string 이어야 합니다.
복소수 정의에 의하면 (i^2)는 -1 이므로 (i^2) 일때는 -1로 계산해주세요.
* 제곱 표현이 안 되어 i의 2제곱을 (i^2)라고 표현했습니다.
예제 1:
Input: "1+1i", "1+1i"
Output: "0+2i"
설명:
(1 + i) * (1 + i) = 1 + i + i + i^2 = 2i
2i를 복소수 형태로 바꾸면 0+2i.
def complexNumberMultiply(a, b):
num_A = tuple(map(int, (a.split('i')[0].split('+'))))
num_B = tuple(map(int, (b.split('i')[0].split('+'))))
resultReal = (num_A[0]*num_B[0] - num_A[1]*num_B[1])
resultImage = (num_A[0]*num_B[1] + num_A[1]*num_B[0])
result = str(resultReal)+"+"+str(resultImage)+"i"
return result
문제
문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요.
* 새로운 배열을 선언하면 안 됩니다.
* 인자로 받은 배열을 수정해서 만들어주세요.
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
def reverseString(s):
s.reverse()
return s
푸는 중...
* 문제
주어진 숫자 배열에서, 0을 배열의 마지막쪽으로 이동시켜주세요.
원래 있던 숫자의 순서는 바꾸지 말아주세요.
* 새로운 배열을 생성해서는 안 됩니다.
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
def moveZeroes(nums):
for i in range(nums.count(0)):
nums.pop(nums.index(0))
nums.append(0)
print(nums)
return nums
* 문제
재귀를 사용하여 팩토리얼(factorial)을 구하는 함수를 구현해주세요.
팩토리얼이란 1에서부터 n까지의 정수를 모두 곱한것을 말합니다.
1! = 1
2! = 1 * 2
5! = 1 * 2 * 3 * 4 * 5
def factorial(n):
if n == 0:
return 1
return n*factorial(n-1)