2798_ 블랙잭
for i in range(len(list1)-2):
for j in range(i+1,len(list1)-1):
for k in range(j+1,len(list1)):
# 브루트 포스 알고리즘->모든 경우 검사
if list1[i]+list1[j]+list1[k]<=m:
list2.append(list1[i]+list1[j]+list1[k])
7568_ 덩치
- x,y를 리스트화 해서 이중리스트로 주는 방법
x, y = sys.stdin.readline().split()
a.append([int(x), int(y)])
1018_체스 판 다시 칠하기
- 2차원 배열에서 점점 영역 넓혀가면서 brutal force 알고리즘 조사.
random_origin=[a[j+x][k:k+8] for x in range(8)]
ch1=['W','B','W','B','W','B','W','B']
ch2=['B','W','B','W','B','W','B','W']
board1 = [ch1, ch2, ch1, ch2, ch1, ch2, ch1, ch2]
board2 = [ch2, ch1, ch2, ch1, ch2, ch1, ch2, ch1]
2750_수 정렬하기
for i in range(0,n-1):
for j in range(0,n-1-i):
if a[j]>a[j+1]:
temp=a[j]
a[j]=a[j+1]
a[j+1]=temp
A=[1,2,3,4,5]
A=A.sort() # (X)
A.sort() # ->따로 쓴다.
s=[0]*10000
- 카운팅 소트 정렬-> 만약, 3 4 5 4 1 이 입력됐다고 하면,
for i in range(n):
num=int(sys.stdin.readline())
s[num-1]+=1
#이 부분에서 index에 맞게 카운트가 올라가고, [0,1,0,1,2,1]
for i in range(len(s)):
if s[i]!=0:
for k in range(s[i]): #카운트의 개수만큼 수를 출력
print(i+1)
1427_소트 인사이드
a.sort(reverse=True)
11561_좌표 정렬하기2
def QS(li):
if len(li)<=1:
return li
piv=li[len(li)//2] #중앙 값 리스트 저장
le,eq,bi=[],[],[]
for i in li:
if i[1]<piv[1]: #y값 부터 비교
le.append(i)
elif i[1]>piv[1]:
bi.append(i)
else: #y값이 같다면 x값 비교
if i[0]<piv[0]:
le.append(i)
elif i[0]>piv[0]:
bi.append(i)
else:
eq.append(i)
return QS(le)+eq+QS(bi)
1181 단어 정렬
- 이중 리스트에서 각 열 기준으로 정렬 하는 법
word_cnt.sort(key=lambda x:x[0]) #이중 리스트에서 첫 번째 열 기준으로 정렬
word_cnt.sort(key=lambda x:x[1]) #이중 리스트에서 두 번째 열 기준으로 정렬
for v in word_list: #중복 검사하는 법
if v not in new_list:
new_list.append(v)
old_list.append(v)
word.sort(key=lambda x:len(x))
- for문을 써서 리스트를 배열하지 않아도 join 사용해 리스트 요소를 배열 가능.
print("\n".join(word))