코테문제풀이
-
문제 보기 : 2805번: 나무 자르기 문제정답률 : 26%작성 코드n,m = map(int,input().split())arr = list(map(int,input().split()))arr.sort(reverse=True)low,high = 0,arr[0]answer = 0while lowmid) if wood >= m: answer = mid low = mid + 1 else: high = mid - 1print(answer)풀이와 진짜 오래 걸린 문제다....이분 탐색에 자신이 없어서 (아직 알고리즘 파악이 덜 됐다) 선호하는 방식으로 풀이했는데 틀렸습니다 + 시간초과 콤보에 정신 나갈 것 같아서 이분 탐색으로 시야를 돌렸다... 흑흑low를 a..
S2 2805. 나무 자르기문제 보기 : 2805번: 나무 자르기 문제정답률 : 26%작성 코드n,m = map(int,input().split())arr = list(map(int,input().split()))arr.sort(reverse=True)low,high = 0,arr[0]answer = 0while lowmid) if wood >= m: answer = mid low = mid + 1 else: high = mid - 1print(answer)풀이와 진짜 오래 걸린 문제다....이분 탐색에 자신이 없어서 (아직 알고리즘 파악이 덜 됐다) 선호하는 방식으로 풀이했는데 틀렸습니다 + 시간초과 콤보에 정신 나갈 것 같아서 이분 탐색으로 시야를 돌렸다... 흑흑low를 a..
2024.11.04 -
문제 보기 : 1541번: 잃어버린 괄호 문제정답률 : 54%작성 코드st = list(input())answer = 0change = Falsenum = ''#초기 부호if st[0]=='-': sign = '-'else: sign = '+'for i in range(len(st)): # 괄호 열기 if st[i] == '-' and not change: change = True if sign == '-': answer -= int(num) else: answer += int(num) sign = '-' #다음 차례는 이걸로 확인 num = '' # 부호 변경, 괄호 내부일..
S2 1541. 잃어버린 괄호문제 보기 : 1541번: 잃어버린 괄호 문제정답률 : 54%작성 코드st = list(input())answer = 0change = Falsenum = ''#초기 부호if st[0]=='-': sign = '-'else: sign = '+'for i in range(len(st)): # 괄호 열기 if st[i] == '-' and not change: change = True if sign == '-': answer -= int(num) else: answer += int(num) sign = '-' #다음 차례는 이걸로 확인 num = '' # 부호 변경, 괄호 내부일..
2024.11.04 -
문제 보기 : 9461번: 파도반 수열 문제정답률 : 43%작성 코드arr = [1,1,1,2,2]+[0]*96for i in range(5,101): arr[i]=arr[i-1]+arr[i-5]k = int(input())for _ in range(k): i = int(input()) print(arr[i-1])풀이이런 문제는 array를 모두 만들어놓고 찾는다는 거 다들 알죠??그리고 바로 코드를 만들기보다는, 규칙을 직접 찾아보는게 시간 절약과 풀이에 훨씬 좋다.
S3 9461. 파도반 수열문제 보기 : 9461번: 파도반 수열 문제정답률 : 43%작성 코드arr = [1,1,1,2,2]+[0]*96for i in range(5,101): arr[i]=arr[i-1]+arr[i-5]k = int(input())for _ in range(k): i = int(input()) print(arr[i-1])풀이이런 문제는 array를 모두 만들어놓고 찾는다는 거 다들 알죠??그리고 바로 코드를 만들기보다는, 규칙을 직접 찾아보는게 시간 절약과 풀이에 훨씬 좋다.
2024.11.04 -
문제 보기 : 1912번: 연속합 문제정답률 : 37%작성 코드from collections import dequen = int(input())arr = deque(list(map(int,input().split())))ans = [0]*nif n >= 1: ans[0] = arr[0]if n>=2: ans[1]=max(arr[1],ans[0]+arr[1])for i in range(2,n): ans[i]=max(arr[i],ans[i-1]+arr[i])print(max(ans))풀이다이나믹 프로그래밍으로 풀이하는데, 보통 DP문제는 리스트로 해결한다. 행렬이든, 1차원 리스트든..처음엔 2개만 선택해야하는줄 알고, deque로 앞, 뒤 원소를 빼면서 계산하도록 했는데 그게 아니었다. ..
S2 1912. 연속합문제 보기 : 1912번: 연속합 문제정답률 : 37%작성 코드from collections import dequen = int(input())arr = deque(list(map(int,input().split())))ans = [0]*nif n >= 1: ans[0] = arr[0]if n>=2: ans[1]=max(arr[1],ans[0]+arr[1])for i in range(2,n): ans[i]=max(arr[i],ans[i-1]+arr[i])print(max(ans))풀이다이나믹 프로그래밍으로 풀이하는데, 보통 DP문제는 리스트로 해결한다. 행렬이든, 1차원 리스트든..처음엔 2개만 선택해야하는줄 알고, deque로 앞, 뒤 원소를 빼면서 계산하도록 했는데 그게 아니었다. ..
2024.11.04 -
문제 보기 : 11724번: 연결 요소의 개수 문제정답률 : 42%작성 코드import sysinput = sys.stdin.readlinesys.setrecursionlimit(10000)def connect(start): stack = [start] visited[start]=True while stack: node = stack.pop() for no in graph[node]: if not visited[no]: visited[no] = True stack.append(no)n,m = map(int,input().split())graph = {i:[] for i in range(1,..
S2 11724. 연결 요소의 개수문제 보기 : 11724번: 연결 요소의 개수 문제정답률 : 42%작성 코드import sysinput = sys.stdin.readlinesys.setrecursionlimit(10000)def connect(start): stack = [start] visited[start]=True while stack: node = stack.pop() for no in graph[node]: if not visited[no]: visited[no] = True stack.append(no)n,m = map(int,input().split())graph = {i:[] for i in range(1,..
2024.11.03 -
문제 보기 : 15650번: N과 M (2) 문제정답률 : 73%작성 코드def combinations(n,new,c): answer = [] if len(new)==n: return [new] for i in range(c,len(arr)): answer.extend(combinations(n,new+[arr[i]],i+1)) return answern,m = map(int,input().split())arr = [i for i in range(1,n+1)]visited = [False]*(n)ans = combinations(m,[],0)for a in ans: print(*a, sep=' ')풀이며칠 전에 풀이한 N, M(1) 문제에서 permu..
S3 15650. N과 M (2)문제 보기 : 15650번: N과 M (2) 문제정답률 : 73%작성 코드def combinations(n,new,c): answer = [] if len(new)==n: return [new] for i in range(c,len(arr)): answer.extend(combinations(n,new+[arr[i]],i+1)) return answern,m = map(int,input().split())arr = [i for i in range(1,n+1)]visited = [False]*(n)ans = combinations(m,[],0)for a in ans: print(*a, sep=' ')풀이며칠 전에 풀이한 N, M(1) 문제에서 permu..
2024.11.02 -
문제 보기 : 1874번: 스택 수열 문제정답률 : 38%작성 코드num = int(input())ls = [int(input()) for _ in range(num)]sub = [] # 스택answer = [] #"+", "-" 저장c = False #"No" 출력 여부 확인a = 1for _ in range(num): b = ls.pop(0) #4 if not sub: sub.append(a) a += 1 answer.append("+") if sub[-1]!=b: if a풀이스택, 큐는 잘 알려져있는 자료구조고 이 문제는 쉬울 것이라 생각했는데 정답률은 생각보다 낮은 문제라 걱정과 함께 시작한 문제다.내가 마주했던 이슈는 '시간초..
S2 1874. 스택 수열문제 보기 : 1874번: 스택 수열 문제정답률 : 38%작성 코드num = int(input())ls = [int(input()) for _ in range(num)]sub = [] # 스택answer = [] #"+", "-" 저장c = False #"No" 출력 여부 확인a = 1for _ in range(num): b = ls.pop(0) #4 if not sub: sub.append(a) a += 1 answer.append("+") if sub[-1]!=b: if a풀이스택, 큐는 잘 알려져있는 자료구조고 이 문제는 쉬울 것이라 생각했는데 정답률은 생각보다 낮은 문제라 걱정과 함께 시작한 문제다.내가 마주했던 이슈는 '시간초..
2024.10.30 -
문제 보기 : 15649번: N과 M (1) 문제정답률 : 63%작성 코드def per(n,new): global arr answer = [] if len(new)==n: return [new] for i in range(len(arr)): if not visited[i]: visited[i]=True answer.extend(per(n,new+[arr[i]])) visited[i]=False return answern,m = map(int, input().split()) #1부터 n까지, m개arr = [i for i in range(1,n+1)]visited = [False]*nk = pe..
S3 15649. N과 M (1)문제 보기 : 15649번: N과 M (1) 문제정답률 : 63%작성 코드def per(n,new): global arr answer = [] if len(new)==n: return [new] for i in range(len(arr)): if not visited[i]: visited[i]=True answer.extend(per(n,new+[arr[i]])) visited[i]=False return answern,m = map(int, input().split()) #1부터 n까지, m개arr = [i for i in range(1,n+1)]visited = [False]*nk = pe..
2024.10.30