반응형

자료구조 및 알고리즘 104

[python] 1978. 소수 찾기

문제 잘못된 풀이 N = int(input()) num = list(map(int, input().split())) cnt = 0 for i in num: check = 0 if i == 1: continue # 아래 코드를 실행하지 않고 건너뜀 for j in range(2, i): # 소수는 2부터 자기자신-1으로는 나누어 떨어지지 않음 if i % j != 0: # 나누어 떨어지지 않을 때, 1 -> 소수 check = 1 else: # 나누어 떨어지면 0 -> 소수 아님 check = 0 break if check == 1: cnt += 1 print(cnt) 소수는 1과 자기 자신으로만 나누어지는 수로, 약수가 2개인 수이다. 즉, 소수는 2부터 N-1까지의 수로 나누어지지 않는 수이다. 1은 ..

[python] 2839. 설탕 배달

문제 잘못된 풀이 N = int(input()) num = N//3 x_3 = [] # 3kg가 x개 있고 y_5 = [] # 5kg가 y개 있을 때 count = [] # 가방 개수구하기 if N%5==0: # 5로 나누어질 때 print(N/5) else: for i in range(1, num+1): # 1~num까지 if (N-(3*i))%5==0: y = (N-(3*i))/5 x = (N-5*y)/3 x_3.append(int(x)) y_5.append(int(y)) if len(x_3) == 0: print(-1) quit() for i in range(len(x_3)): count.append(x_3[i]+y_5[i]) print(min(count)) 내가 처음에 짠 코드는 다음과 같이 굉장..

[python] 2775. 부녀회장이 될테야

문제 잘못된 풀이 문제를 보자마자 recursive(재귀) 알고리즘이 생각났다. Recursive로 풀어보고자 했는데, 실패했다. 올바른 풀이 T = int(input()) for i in range(T): k = int(input()) # 층 n = int(input()) # 호 floor_0 = [i for i in range(1, n+1)] # 0층 사람 수 for j in range(k): for p in range(1, n): floor_0[p] += floor_0[p-1] print(floor_0[-1]) # 0번 인덱스부터 시작하기 때문에 -1 Recursive가 아닌 풀이 방법을 모색했다. 0층을 기준으로 1호는 1명, 2호는 2명, 3호는 3명 ... i호는 i명의 사람이 있음을 나타내는..

728x90
반응형