for i in range(len(callings)):
if(callings[i] in answer):
answer랑 callings 둘 다 배열인데
이렇게 하면 시간초과 날 확률이 높다
in때문에 결국 answer배열도 다 돌면서 사실상 2중 for문이 됨
-> 딕셔너리 2개 써서 하자 (프로그래머스/달리기경주)
리스트를 딕셔너리로 바꿔줌 -> 인덱스,값 으로
for i, letter in enumerate(['A', 'B', 'C']):
print(i, letter)
결과
0 A
1 B
2 C
파이썬에서 swap 하고 싶으면
a,b = b,a
이런식으로 하면 됨
return list(dic.values())
str_list = list("hello")
하면 str_list에 하나하나 잘려서 들어가있음
def solution(n, arr1, arr2):
answer = []
for i in range(n):
tmp = bin(arr1[i] | arr2[i])
# tmp결과 ex) '0b1101'
tmp = tmp[2:].zfill(n)
# tmp결과 ex) '01101'
tmp = tmp.replace('1','#').replace('0',' ')
# tmp결과 ex) ' ## #'
answer.append(tmp)
return answer
bin(10)
>>>'0b1010'
arr = [False] * len(cards)
def solution(cards1, cards2, goal):
answer = True
from collections import deque
q = deque()
# queue를 써야했던점
# 파이썬에서 queue쓰려면 deque으로 선언해서 append로 넣어주면됨
# 배열이 비어있지 않는 것을 체크하는 방법
for i in range(len(goal)):
if((len(cards1)) and cards1[0] == goal[i]):
q.append(cards1[0])
del cards1[0]
answer = "Yes"
elif((len(cards2)) and cards2[0] == goal[i]):
q.append(cards2[0])
del cards2[0]
answer = "Yes"
else:
answer = "No"
break
print(q)
return answer
reversed을 사용하면 됨
for i in reversed(range(N))