Skip to content

Commit d461a90

Browse files
authored
Merge pull request #44 from zaqquum/main
๊น€ํ™์ฃผ/ 7์›” 3์ฃผ์ฐจ / 3๋ฌธ์ œ
2 parents 4aa7e8f + 71dcbc9 commit d461a90

File tree

4 files changed

+104
-0
lines changed

4 files changed

+104
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"""
2+
์‹คํŒจ
3+
1. ๊ฐ€์žฅ ํฐ ์ž๋ฆฌ์ˆ˜ ๋น„๊ต -> ์ž๋ฆฌ์ˆ˜ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜
4+
0. graph
5+
idx : numbers
6+
value : [0,0,0,-1] # ex 62 => [6,2,False,False]
7+
# ์กฐ๊ฑด 2.
8+
3,30,300 ๋น„๊ต -> 3 > 30> 300 ์šฐ์„ ์ˆœ์œ„
9+
#๋ฐ˜๋ก€
10+
1) 110 vs 1 > 1+110
11+
2) [12, 1213] -> 1213+12
12+
"""
13+
14+
def solution(numbers):
15+
answer = ''
16+
#0. graph ๋งŒ๋“ค๊ธฐ
17+
graph = list()
18+
for n in numbers:
19+
p = 4-len(str(n))
20+
if p > 0 :
21+
douple_n = str(n)*p
22+
else :
23+
douple_n = str(n)
24+
graph.append([douple_n[:4], p ]) # ์ž๋ฆฌ์ˆ˜ ๋งž์ถฐ์ฃผ๊ธฐ(4์ž๋ฆฌ)
25+
# print(graph)
26+
#2.์ •๋ ฌ : ๋†’์€ ์ž๋ฆฌ์ˆ˜์˜ ๊ฐ’์ด ํฐ ์ˆœ์„œ ๋Œ€๋กœ
27+
graph.sort(key=lambda x : x[0] , reverse = True)
28+
# print(graph)
29+
#3. ํ•ฉ์น˜๊ธฐ
30+
answer=""
31+
for i in range(len(graph)):
32+
num = graph[i][0] ; position = 4-graph[i][1]
33+
answer += str(int(num[:position]))# "000","0" ๊ฒฝ์šฐ 0์œผ๋กœ ์ฒ˜๋ฆฌ
34+
35+
return answer
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""
2+
# ๊ณ„์ˆ˜ ์ •๋ ฌ idea ์ ์šฉ
3+
"""
4+
5+
def solution(topping):
6+
answer = 0 # ๊ณตํ‰ํ•˜๊ฒŒ ์ž๋ฅผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜
7+
# 0, graph
8+
forward = set()
9+
backward = dict()
10+
# 1. key ์ข…๋ฅ˜, value: toppping ์ค‘๋ณต ๊ฐœ์ˆ˜
11+
for t in topping:
12+
backward[str(t)]= backward.get(str(t),0)
13+
backward[str(t)] += 1
14+
print(backward)
15+
#2. forward vs backward
16+
for t in topping :
17+
# f ์—์„œ t๊ฐ€ ์ถ”๊ฐ€๋จ == b์—์„œ t ๋น ์ง
18+
forward.add(t)
19+
backward[str(t)] -=1
20+
if backward[str(t)] == 0 :
21+
del backward[str(t)]
22+
23+
# ํ† ํ•‘ ์ข…๋ฅ˜ ๊ฐ™์€ ๊ฒฝ์šฐ = ๊ณตํ‰ ํ•œ ๊ฒฝ์šฐ
24+
if len(forward) == len(backward.keys()):
25+
answer+=1
26+
27+
return answer
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
def solution(s):
2+
answer = ''
3+
li = list(map(int,s.split(" ")))
4+
li.sort() # ์˜ค๋ฆ„ ์ฐจ์ˆœ ์ •๋ ฌ
5+
answer= str(li[0]) + " "+str(li[-1]) #"์ตœ์†Œ ์ตœ๋Œ€"
6+
# print(answer)
7+
return answer
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
INF = int(1e9) #๋ฌดํ•œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ‘์Šค์˜ฌ 10์–ต ์„ค์ •
2+
3+
# ๋…ธ๋“œ ๊ฐœ์ˆ˜ & ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ ์ž…๋ ฅ
4+
n = int(input())
5+
m = int(input())
6+
#1. graph ์„ค์ • -์ธ์ ‘ ํ–‰๋ ฌ(2์ฐจ์› , nxn ) , ์ดˆ๊ธฐํ™”
7+
graph = [[INF]*(n+1) for _ in range(n+1)]
8+
9+
#1-1. ์ž๊ธฐ ์ž์‹ ์—์„œ ์ž๊ธฐ ์ž์‹  ๊ฐ€๋Š” ๋น„์šฉ {Cost (A->A)}= 0 ์ดˆ๊ธฐํ™”
10+
for a in range(1,n+1) :
11+
for b in range(1,n+1):
12+
if a==b:
13+
graph[a][a] = 0
14+
15+
#1-2 .๊ฐ ๊ฐ„์„ ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„, ๊ทธ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” : Cost(A->B) = ์ดˆ๊ธฐ๊ฐ’
16+
for _ in range(m):
17+
# Cost(A->B) = c
18+
a,b,c = map(int, input().split())
19+
graph[a][b]= c
20+
21+
#2. ํ”Œ๋กœ์ด๋“œ ์›Œ์ƒฌ ์ ํ™”์‹ ์ˆ˜ํ–‰
22+
# a->b : a->k->b vs a->b
23+
for k in range(1,n+1):
24+
for a in range(1,n+1):
25+
for b in range(1,n+1):
26+
graph[a][b] = min(graph[a][b], graph[a][k]+ graph[k][b])
27+
28+
# ์ถœ๋ ฅ
29+
for a in range(1,n+1):
30+
for b in range(1,n+1):
31+
if graph[a][b] == INF :
32+
print("INF", end="")
33+
else :
34+
print(graph[a][b], end ="")
35+
print()

0 commit comments

Comments
ย (0)