# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def __init__(self):
        self.traversal = []
        
    def preorderTraversal(self, root: TreeNode) -> List[int]:
        if root == None:
            return []
        
        self.traversal.append(root.val)
        self.preorderTraversal(root.left)
        self.preorderTraversal(root.right)
        
        return self.traversal
        
        

Posted by 공놀이나하여보세
,

if 문을 만들어 보려고 한다.

if 문은 소프트웨어에서 가장 기본적이고도 중요한 문법이다.

 

'만약 사람이 들어왔다면 불을 켜라.' 라는 것을 실행하고 싶다면,

 

if 사람이 들어왔니?:

    print("불을 켜라")

와 같은 방식으로 실행하면 된다.

 

구구단에서 2단 4단 6단 8단만 출력하고 싶다면?

아래와 같이 코딩을 하면 된다.

def Dan(i): 
  for j in range(1, 10): 
    print("%d x %d = %d" % (i, j, i * j), end = "\t") 
  print() 

for i in range(2, 10): 
  if(i %2 == 0):
    Dan(i)


i % 2 라는 말은 i 값에서 2로 나눈 나머지 값을 계산해달라는 말이다.

1 / 2의 나머지 값은 1이고

2 / 2의 나머지 값은 0

3 / 2의 나머지 값은 1이고

4 / 2의 나머지 값은 0 이다.

 

즉 나머지 값이 0인 것을 찾아 달라는 말은 2의 배수를 찾아 달라는 말이다.

이를 통해 구구단 중에서 2단 4단 6단 8단만 출력을 할 수 있게 되었다.

 

Posted by 공놀이나하여보세
,

이번 시간에는 함수 호출에 대해서 얘기해 보려고 한다.

 

함수란..

특정한 역할을 해주는 것을 따로 빼 놓은 것이다.

 

예를 들어, 아래와 같이 더하기를 계산해주는 함수가 있다고 하자.

 

def SUM(a, b):
  return (a+b)

c = SUM(10, 20)
print(c)

출력 _> 30

 

SUM 이란 함수이며 인자를 a와 b 두개를 받는다.

SUM(10, 20) 이라고 호출해 주면

SUM 함수는 10과 20을 받아서 10과 20의 합을 돌려준다.

c라는 변수에서 SUM이라는 함수에서 나온 값을 저장하고,

출력을 해주면, 30이란 값이 출력된다.

 

이전에 짰던 구구단을 함수를 이용해 만들어 보자.

몇단을 출력해줄지 입력을 받아서 1단, 2단 5단 등의 내가 원하는 단만 출력해주는 함수이다.

def Dan(i):
  for j in range(1, 10):
    print("%d x %d = %d" % (i, j, i * j), end = "\t")
  print()

Dan(2)
Dan(4)

 

Dan이라는 함수를 만들고, 2 와 4를 입력하면,

아래와 같이 2단과 4단이 출력되는 것을 확인할 수 있다.

2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18

4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36

 

그럼 2단에서 9단까지 출력하려면 어떻게 하면 될까?

def Dan(i):
  for j in range(1, 10):
    print("%d x %d = %d" % (i, j, i * j), end = "\t")
  print()

for i in range(2, 10):
  Dan(i)

 

위와 같이 하면, 우리는 이전에 했던 구구단을 출력할 수 있다.

2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18

3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27

4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36

5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45

6 x 1 = 6 6 x 2 = 12 6 x 3 = 18 6 x 4 = 24 6 x 5 = 30 6 x 6 = 36 6 x 7 = 42 6 x 8 = 48 6 x 9 = 54

7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63

8 x 1 = 8 8 x 2 = 16 8 x 3 = 24 8 x 4 = 32 8 x 5 = 40 8 x 6 = 48 8 x 7 = 56 8 x 8 = 64 8 x 9 = 72

9 x 1 = 9 9 x 2 = 18 9 x 3 = 27 9 x 4 = 36 9 x 5 = 45 9 x 6 = 54 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81

 

 

Posted by 공놀이나하여보세
,