File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ def main ():
2+ n = int (input ())
3+
4+ dp = [0 ] * (n + 1 )
5+ dp [1 ] = 1
6+
7+ if n >= 2 :
8+ dp [2 ] = 3
9+
10+ # 마지막에 2x1 타일을 세로로 놓았을 때 -> 1칸에만 들어감, 즉 한 칸만 비워져있어야 함 (i-1)
11+ # 마지막에 2x1 타일을 가로로 2개 놓았을 때 -> 2칸에 들어감, 즉 두 칸 비워져있어야 함 (i-2)
12+ # 마지막에 2x2 타일을 놓았을 때 -> 2칸에 들어감, 마찬가지로 두 칸 비워져있어야 함 (i-2)
13+ for i in range (3 , n + 1 ):
14+ dp [i ] = (dp [i - 1 ] + 2 * dp [i - 2 ]) % 10007
15+
16+ print (dp [n ])
17+
18+
19+ if __name__ == "__main__" :
20+ main ()
Original file line number Diff line number Diff line change 1+ def main ():
2+ N = int (input ())
3+ a = list (map (int , input ().strip ().split ()))[:N ]
4+
5+ min_price = float ('inf' )
6+ max_profit = 0
7+
8+ for i in a :
9+ if i < min_price :
10+ min_price = i
11+ profit = i - min_price
12+ if profit > max_profit :
13+ max_profit = profit
14+
15+ print (max_profit )
16+
17+
18+
19+ if __name__ == "__main__" :
20+ main ()
Original file line number Diff line number Diff line change 1+ from collections import deque
2+
3+ def solution (x , y , n ):
4+ answer = 0
5+ dp = [- 1 ] * (y + 1 )
6+
7+ dp [x ] = 0
8+
9+ queue = deque ([x ])
10+
11+ while queue :
12+ current = queue .popleft ()
13+
14+ for nextNum in (current + n , current * 2 , current * 3 ):
15+ if nextNum > y :
16+ continue
17+ if dp [nextNum ] == - 1 :
18+ dp [nextNum ] = dp [current ] + 1
19+ queue .append (nextNum )
20+
21+ return dp [y ]
You can’t perform that action at this time.
0 commit comments