목록ALGORITHM/SOLVE (67)
정구리의 우주정복
#파이썬으로 품 ##분명 나보다 좋은 코드가 더 많이 있을거임 #8*8 체스판을 만들거임 #아무데서나 선택해서 만들거다 m*n 사이즈의 보드임 white_board = [['W','B','W','B','W','B','W','B'], ['B','W','B','W','B','W','B','W'], ['W','B','W','B','W','B','W','B'], ['B','W','B','W','B','W','B','W'], ['W','B','W','B','W','B','W','B'], ['B','W','B','W','B','W','B','W'], ['W','B','W','B','W','B','W','B'], ['B','W','B','W','B','W','B','W']] black_board = [['B','W'..
people = int(input()) info = [] for i in range(people): _info = [int(x) for x in input().split()] info.append(_info) for j in range(people): big = 1 for k in range(people): if info[j][0] < info[k][0] and info[j][1] < info[k][1]: big += 1 print(big) 자기 자신보다 큰거가 있으면 +1 을 해주기만 하면 되는 문제 부등호를 거꾸로 하는 바람에 삽질을 엄청 했다 ㅜㅜㅜ 생각을 조금만 바꾸면 되는데 그게 참 어려워 ㅜㅜ
n,m = map(int,input().split()) #n 은 카드의 개수 m 합이 되어야하는 수 card = list(map(int,input().split())) sum = [] for i in range(n): for j in range(i+1,n): for k in range(j+1,n): summ = card[i]+card[j]+card[k] if summ
#질문은 댓글로 #1 - n 번방까지 최소 몇번을 지나가는지 #1 -> 6 -> 12 -> 18 -> #1 -> 7 -> 19 -> 37 -> 61 n = int(input()) i = 0 box =1 result =1 while True: if n == 1 : break #print(i) if box+(6*i)< n
num = int(input()) box = 0 while True: if num %5 ==0: #num 이 5의 배수인 경우 box = box+num//5 break if num ==3: box +=1 break num -=3 box +=1 if num
#파이썬으로 품 ##분명 나보다 더 좋은 해결책이 있을거임 testCase = int(input()) for i in range(testCase): stack = [] string = list(input().split()) top = 0 try: if len(string) 1: result ='error' break else: result = stack[0] else: #숫자가 들어온 경우 stack.append(string[j]) top += 1 print("#"+str(i+1)+" "+result) except: print('#'+str(i+1)+' error') 만약 eval() 을 쓸수 있었다면 좀 더 코드가 간결했겠지만 못써서 아주 길어졌다 하지만 어려운 코드는 아니니까 이해하기는 쉬울듯 !!중..
#파이썬으로 풀었다 ##질문 댓글 스택을 이용해서 풀어주었음 top(맨 위에값) 을 정해서 top 과 top-1 의 값이 같으면 pop 을 해주는 방식으로 만들었다 오랜만에 만난 선녀같은 문제 ㅜㅜㅜ def checkString(string): top = 0 for i in range(len(string)): if len(stack) == 0: #스택 안에 아무것도 없는 경우 stack.append(string[i]) else: stack.append(string[i]) top += 1 if stack[top] == stack[top-1]: stack.pop(top) stack.pop(top-1) top = top-2 testCase = int(input()) for i in range(testCase)..
DFS를 이용한 풀이 graph에 각 노드의 간선에 대한 노드들을 넣어주고 전체 visit의 값에 True 를 넣고 한번 방문한 적이 있으면 False를 넣어준다 그리고 간선에 대한 노드가 True 값이면 다시 함수를 호출해 False 로 바꿔준다 맨 마지막에 도착노드값이 True(방문한 적이 없음) 면 result =0 으로 해주고 그 밖에는 result = 1 def dfs(s): visit[s] = False for i in graph[s]: if visit[i] == True: dfs(i) testCase = int(input()) for i in range(testCase): v,e = map(int,input().split()) graph = [[] for _ in range(v+1)] vis..