Skip to content

Commit b8162f5

Browse files
authored
Merge pull request #6 from zaqquum/main
Hongjoo/ 3월 3주차 / 4문제
2 parents b5567fb + 72bda7e commit b8162f5

File tree

4 files changed

+134
-0
lines changed

4 files changed

+134
-0
lines changed

Hongjoo/lv1/신고결과받기.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
def solution(id_list, report, k):
2+
answer = []
3+
# output : answer(list)
4+
#0 delete duple- suiting apply
5+
report_li =[]
6+
for n in report :
7+
if n not in report_li:
8+
report_li.append(n)
9+
#1. report : 1d -> 2d with splite both
10+
for i in range(len(report_li)):
11+
report_li[i]=report_li[i].split()
12+
#2. report : list -> dict
13+
v=[]
14+
for i in range(len(id_list)):
15+
li= []
16+
for m in range(len(report_li)):
17+
if id_list[i] == report_li[m][0]:
18+
li.append(report_li[m][1])
19+
v.append(li)
20+
dict1 =dict(zip(id_list,v))
21+
22+
#3. count suiting
23+
count_li = []
24+
for i in range(len(id_list)):
25+
count=0
26+
for values in dict1.values():
27+
for m in range(len(values)):
28+
if id_list[i] == values[m]:
29+
count+=1
30+
count_li.append(count)
31+
dict2 = dict(zip(id_list,count_li))
32+
33+
34+
# 4. suting list
35+
suiting_li = []
36+
for suiting,v in dict2.items() :
37+
if v >= k:
38+
suiting_li.append(suiting)
39+
# 5. find the num of suited_id depends on suiting_id
40+
for m,n in dict1.items():
41+
count=0
42+
for i in range(len(n)):
43+
for z in suiting_li:
44+
if z == n[i]:
45+
count +=1
46+
answer.append(count)
47+
48+
return answer

Hongjoo/lv1/컨트롤제트.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
def solution(s):
2+
answer = 0
3+
tmp = []
4+
# 1. delete blank and change type spring to list
5+
s=s.split()
6+
for i in range(len(s)):
7+
# if z exist, then pop all elements in tmp
8+
if s[i] == "Z":
9+
tmp.pop()
10+
continue
11+
tmp.append(s[i])
12+
# sum about tmp
13+
sum = 0
14+
for i in range(len(tmp)):
15+
sum+= int(tmp[i])
16+
print(sum)
17+
answer = sum
18+
return answer

Hongjoo/lv2/방문길이.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
def goTo (start,d):
2+
# start : starting poing , d : 1 dirrection
3+
# output : endpoint []
4+
if d == "U": # up
5+
end = [start[0], start[1]+1]
6+
elif d == "D" : # down
7+
end = [start[0], start[1]-1]
8+
elif d == "R" :# Right
9+
end = [start[0]+1, start[1]]
10+
elif d == "L": # Left
11+
end = [start[0]-1, start[1]]
12+
return end
13+
14+
def solution(dirs):
15+
answer = 0
16+
start = [0,0]
17+
end =[0,0]
18+
allRoot=[[]]
19+
# record root about all dirs
20+
for d in dirs :
21+
dupli = False
22+
end = goTo(start,d)
23+
# Find is it exit in map
24+
if -5>end[0] or end [0]>5 or -5>end[1] or end [1]>5:
25+
continue
26+
newroot = [start, end]
27+
print("d",d)
28+
# Search same root
29+
for i in range(len(allRoot)) :
30+
if allRoot[i] == [start,end] or allRoot[i] == [end,start] :
31+
dupli = True
32+
break
33+
# update root in allRoot
34+
if dupli == False:
35+
allRoot.append(newroot)
36+
start= end
37+
38+
del allRoot[0]
39+
answer = len(allRoot)
40+
return answer

Hongjoo/lv2/올바른괄호.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
def solution(s):
2+
answer = True
3+
print(s)
4+
#1. s은 ( 로 시작, ) 가 끝
5+
if s[0] == ")":
6+
answer = False
7+
return answer
8+
elif s[-1] == "(":
9+
answer = False
10+
return answer
11+
#2.) 와 (의 개수 동일
12+
left = 0
13+
right = 0
14+
for n in s :
15+
if n == "(":
16+
left +=1
17+
elif n == ")":
18+
right +=1
19+
else:
20+
answer = False
21+
return answer
22+
23+
if left != right :
24+
answer = False
25+
return answer
26+
27+
28+
return True

0 commit comments

Comments
 (0)