Skip to content

Commit b0dd8de

Browse files
authored
Merge pull request #30 from zaqquum/main
Hongjoo/5์›”4์ฃผ์ฐจ/4๋ฌธ์ œ
2 parents 0fa3576 + 56d5605 commit b0dd8de

File tree

4 files changed

+102
-0
lines changed

4 files changed

+102
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
def solution(N, number):
2+
if N == number:
3+
return 1
4+
# 1. [ SET x 8 ] ์ดˆ๊ธฐํ™”
5+
s = [ set() for x in range(8) ]
6+
7+
# 2. ๊ฐ set๋งˆ๋‹ค ๊ธฐ๋ณธ ์ˆ˜ "N" * i ์ˆ˜ ์ดˆ๊ธฐํ™”
8+
for i,x in enumerate(s, start=1):
9+
x.add( int( str(N) * i ) )
10+
11+
# 3. n ์ผ๋ฐ˜ํ™”
12+
# {
13+
# "n" * i U
14+
# 1๋ฒˆ set ์‚ฌ์น™์—ฐ์‚ฐ n-1๋ฒˆ set U
15+
# 2๋ฒˆ set ์‚ฌ์น™์—ฐ์‚ฐ n-2๋ฒˆ set U
16+
# ...
17+
# n-1๋ฒˆ set ์‚ฌ์น™์—ฐ์‚ฐ 1๋ฒˆ set,
18+
# }
19+
# number๋ฅผ ๊ฐ€์žฅ ์ตœ์†Œ๋กœ ๋งŒ๋“œ๋Š” ์ˆ˜ ๊ตฌํ•จ.
20+
for i in range(1, 8):
21+
for j in range(i):
22+
for op1 in s[j]:
23+
for op2 in s[i-j-1]:
24+
s[i].add(op1 + op2)
25+
s[i].add(op1 - op2)
26+
s[i].add(op1 * op2)
27+
if op2 != 0:
28+
s[i].add(op1 // op2)
29+
30+
if number in s[i]:
31+
answer = i + 1
32+
break
33+
34+
else:
35+
answer = -1
36+
37+
return answer
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
def solution(m, n, puddles):
2+
#DP
3+
answer = 0
4+
#1.i=0,1 or j=0,1 -> map[i.j] =1
5+
map = [[1]*(m+1) for _ in range(n+1)]#n+1xm+1
6+
#print(map)
7+
# puddles -> map[i,j] =0 ์œผ๋กœ ์„ธํŒ…
8+
# for p in puddles :
9+
# map[p[0]][p[1]] = 0
10+
11+
for i in range(n+1):
12+
for j in range(m+1):
13+
if [i,j] in puddles:
14+
print("##p=0:",i,j,"skip")
15+
map[i][j] = 0
16+
continue
17+
if i in [0,1] or j in [0,1] :
18+
print("##p=1:",i,j,"skip")
19+
continue
20+
map[i][j] = map[i][j-1] + map[i-1][j]
21+
#print(i,j,":",map[i][j] ,"=", map[i][j-1] ,"+", map[i-1][j])
22+
#print(map)
23+
answer = map[n][m]
24+
25+
#print(map[n][m-1]+map[n-1][m] )
26+
return answer%1000000007
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
def solution(triangle):
2+
3+
# 2์ง€ ์„ ๋‹ค -> A>B , ์ด๋ฉด A ์„ ํƒ
4+
5+
sum = [[triangle[0][0]]]
6+
tmp = triangle[0][0]
7+
sum.append([tmp+triangle[1][0],tmp+triangle[1][1]])
8+
9+
# ์ค‘๊ฐ„
10+
for i in range(2,len(triangle)) : # ith stage: 2~n
11+
# s(left) vs s+1(right)
12+
# ๋งจ ์™ผ์ชฝ
13+
sub_s = []
14+
sub_s.append(sum[i-1][0]+triangle[i][0])
15+
## ์ค‘๊ฐ„
16+
for j in range(1,len(triangle[i])-1):
17+
tmp = triangle[i][j] + max(sum[i-1][j-1],sum[i-1][j])
18+
#ํ˜„์žฌ number + ์ด์ „ stage number ์„ ํƒ
19+
20+
sub_s.append(tmp)
21+
#๋งจ ์˜ค๋ฅธ์ชฝ
22+
sub_s.append(sum[i-1][-1]+triangle[i][-1])
23+
sum.append(sub_s)
24+
25+
return max(sum[-1])
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
def solution(money):
2+
#1. ์›ํ˜• ํƒ์ƒ‰์˜ ํ•จ์ •๊ณ ๋ ค -> 1๋ฒˆ์งธ ํฌํ•จ, ๋งˆ์ง€๋ง‰๋งŒ ํฌํ•จ
3+
# 3๊ฐœ ์ด์ƒ
4+
m1 = [0] + money[0:len(money)-1]
5+
m2 = [0] + money[1:len(money)]
6+
ms = [m1,m2]
7+
#2.์ ํ™”์‹: ํ˜„์ œ ์œ„์น˜ = MAX(์ด์ „, ์ „์ „ + ํ˜„์œ„์น˜)
8+
max_num = 0
9+
for c in ms :
10+
for i in range(2,len(c)):
11+
c[i] = max(c[i-1],c[i-2]+c[i])
12+
if max_num < c[len(c)-1]:
13+
max_num = c[len(c)-1]
14+
return max_num

0 commit comments

Comments
ย (0)