์ง๋์ฃผ๊ฑด๋ฐ ์ ์ง๊ธ ์ฌ๋ฆฌ๋๊ท์? ํ๋ก์ ํธ๋ก ์ฃฝ์ด์ ๊ทธ๋์..
์ฃ์กํฉ๋๋ค
<๋ฌธ์ >
๋ ๊ฐ์ 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)
์์ 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.
๊ฐ์ )input์ ํญ์ a+bi ํํ์ ๋๋ค. output๋ a+bi ํํ๋ก ๋์์ผ ํฉ๋๋ค.
์ด๋ฒ์ ์ฝ๋์นดํ๋VS LIVE SHARE
๋ก ๋๊ธฐ ๊ธฐ์๐ฑ๋ ํจ๊ป ์งํํ๋ค.
๋ญ๊ฐ ์ ๊ทผ๋ฒ์ด ์๋ค๊ณ ๋งํ๋๊ฑฐ ๊ฐ์๋๋ฐ ๋๋ ๊ตฌ๊ธ์ ์์กดํ์ง๋ง๊ณ ์ด๋ฒ์๋ ํ๋ฒ ๊ผญ ๋ค ํ์ด์๋ ๋ง์์ผ๋ก ์ ๊ทผํ๋ค.
+-
๋ผ๋ ๊ฑธ ๋ณด๊ณ +
๋ฅผ ๊ธฐ์ค์ผ๋ก ์๊ฐ ๋๋๋ค๊ณ ์๊ฐํ๋ค. def complex_number_multiply(a, b):
list_a = a.split('+')
list_b = b.split('+')
a1 = int(list_a[0])
a2 = int(list_a[1].split('i')[0])
b1 = int(list_b[0])
b2 = int(list_b[1].split('i')[0])
result_a = a1 * b1 - a2 * b2
result_b = a1 * b2 + a2 * b1
result = (str(result_a) + "+"+ str(result_b) + "i")
return result
๋ฌธ์์ด์ ๋๋ ๋ ์ฌ์ฉํ๋ค.
๊ดํธ ์์ ์๋ฌด๊ฒ๋ ๋ฃ์ง ์์ผ๋ฉด ๊ณต๋ฐฑ(๋์ด์ฐ๊ธฐ, ํญ ๋ฑ)์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋๋๊ณ ๊ทธ ๋๋ ์ง ์์๋ ๋ฆฌ์คํธ์ ์์๋ก ์ ์ฅ๋๋๋ฐ, ๋ถํ ๋ ๋ฌธ์์ ๊ฐ์๋งํผ ๊ฐ๊ฐ์ ๋ณ์๋ก ์ง์ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
์ด๋ฒ ์ฝํธ์นดํ์ฒ๋ผ split()
์ ๊ดํธ์์ +
๋ผ๋ ๊ฐ์ ์ง์ ํด์ฃผ๋ฉด ํด๋น +
๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ด ๋๋๋ค.
ํ์ด์ฌ์๋ ๋ณต์์๋ฅผ ์ง์ํ๋ ๋ชจ๋์ด ์๋๋ฐ cmath
์ด๋ค. ์ด ๋ชจ๋์ Importํ๋ฉด ํธํ๊ฒ ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ค๊ณ ํ๋ค๐
import math
import cmath
c = 3 + 2j
print(c) #(3+2j) #ํ์ด์ฌ์์๋ j๋ฅผ ์ฌ์ฉ
print(c.real) #3.0 #์ค์ ๋ถ๋ถ
print(c.imag) #2.0 #ํ์ ๋ถ๋ถ
print((3 + 2j) * (3 + 2j)) #(5+12j) #์ค์ ๋ถ๋ถ 5, ํ์ ๋ถ๋ถ 12
(์ฐพ์๋ ๋๋๋ฐ ์ด๊ฑธ ์ฐ๋ฉด ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๋ ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํด์ ์ ์ฉํด์ ํ์ง๋ ์์๋ค!)
def complexNumberMultiply(a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
firstArr = a[:-1].split('+')
a1 = int(firstArr[0])
a2 = int(firstArr[1])
secondArr = b[:-1].split('+')
b1 = int(secondArr[0])
b2 = int(secondArr[1])
return f'{a1 * b1 - a2 * b2}+{a1 * b2 + a2 * b1}i'
๋ ์ค์ธ ๋ฒ์
def complexNumberMultiply2(a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
a1, a2 = map(int, a[:-1].split('+'))
b1, b2 = map(int, b[:-1].split('+'))
return '%d+%di' % (a1 * b1 - a2 * b2, a1 * b2 + a2 * b1)
๊ฒฐ๋ก ์ ์ผ๋ก split๋ฅผ ํตํ๊ฑด ์ผ์น! ๐
<๋ฌธ์ >
๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฐฐ์ด์ 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 reverse_string(s) :
s=s[::-1]
return s
๋ผ๋.. ์์ฃผ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค.
def reverseString(s) :
a, b = 0, len(s) - 1
while a <= b:
s[a], s[b] = s[b], s[a]
a += 1
b -= 1
return s
# def reverseString(s) :
# return s[::-1]
<๋ฌธ์ >
์์๋ก ์ด๋ฃจ์ด์ง m x n ๊ทธ๋ฆฌ๋๋ฅผ ์ธ์๋ก ๋๋ฆฝ๋๋ค.
์๋จ ์ผ์ชฝ์์ ์์ํ์ฌ, ํ๋จ ์ค๋ฅธ์ชฝ๊น์ง ๊ฐ๋ ๊ธธ์ ์์๋ฅผ ๋ค ๋ํ์ ๋,๊ฐ์ฅ ์์ ํฉ์ ์ฐพ์์ return ํด์ฃผ์ธ์.
ํ ์ง์ ์์ ์ฐ์ธก์ด๋ ์๋๋ก๋ง ์ด๋ํ ์ ์์ต๋๋ค.์์
Input:[[1,3,1],[1,5,1],[4,2,1]]
Output: 7
(์ค๋ช )1โ3โ1โ1โ1 ์ ํฉ์ด ์ ์ผ ์์
์ ์ผ ์ฒ์์ ์๊ฐํ๊ฑด
์ฒ์ ์์์ ์(0.0)์ ๋ง์ง๋ง ๋์ฐฉ์ ์ด(m,n)์ผํ
๋ ๊ทธ ์ฌ์ด์ ๊ฒฝ๋ก๋ ์ด๋๋ฐฉํฅ์ผ๋ก ๊ฐ์ ์์ผ๋ ์ค๋ฅธ์ชฝ,์๋๋ก ๊ฐ๋ ํ์๊ฐ ์ ํด์ ธ ์๋ค๊ณ ์๊ฐํ๋ค
#๋ฏธ์์ฑ์ฝ๋
def move_zeroes(nums):
a = nums.count(0)
while a != 0:
nums.remove(0)
nums.append(0)
a -= 1
return nums
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ง ๋ก์ง์ 3x3์ผ๋ก ํ ๊ฒฝ์ฐ์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ด๋ผ 1000x10๋ผ๋ฉด ๋ง๋ ์๋๋ค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค...ใ ใ
def minPathSum(grid):
m = len(grid)
n = len(grid[0])
for i in range(1, n):
grid[0][i] += grid[0][i-1]
for i in range(1, m):
grid[i][0] += grid[i-1][0]
for i in range(1, m):
for j in range(1, n):
grid[i][j] += min(grid[i-1][j], grid[i][j-1])
return grid[-1][-1]
์ด ๋ฐฉ๋ฒ์ด ๋ฒ ์คํธ๋ผ๊ณ ํ๋๋ฐ ์ค.. for loops๋ฅผ ์ธ๋ฒ์ด๋ ์ฐ๋ค๋...
ํด๋น๋ฌธ์ ๊ด๋ จ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ๋ค๊ณ ๋ค์๋ค.
Astar ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๋๋ฐ.. ์ผ์, ์์ง์ ์ ๋ชจ๋ฅด๊ฒ ๋ค.
๊ด๋ จ ๋ธ๋ก๊ทธ ์ ์ค๋ช
ํด์ฃผ์ ๋ถ์ ๋ธ๋ก๊ทธ๊ฐ ์์ด์ ๊ผญ ๋์ค์ ์ฐธ๊ณ ํด์ ๊ณต๋ถํด๋ณด๊ณ ์ถ๋ค. ์ผ๋จ, ์ด์ ๋๋ก๋ง ํด๋์
trello๋ฅผ ๋ณธ์ธ๊ฑด๊ฐ๋ณด๋ค ์๋์ฌ์... pm์ด ์๋๋ฐ pm์ฒ๋ผ ๋ชจ๋๋ฅผ ์ผ์ดํ์ฌ์.... ํค๋ณด๋๋ฅผ 80ํค๋ก์ธ ๋๋ณด๋ค ๋ ์๊ฒ ๋๋๊ธฐ๋์ฌ์... ๋ง์ง๋ง๊น์ง ์ ๋ ์์๊ณ ์ด์ ์ ์์์ฌ์.... ๋น์ ์ ์กด๊ฒฝํฉ๋๋ค ํ๋ก์ ํธ๊ธฐ๊ฐ ๋๋ฌด ์๊ณ ํ์ด์ ์ฌ์ฃผ๋ง^^