일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 웹 프론트엔드
- 스택
- 문자열
- 프로그래머스스쿨
- DP
- 그래프 탐색
- 자료구조
- level2
- 너비 우선 탐색
- 브루트포스 알고리즘
- web
- 백준
- 알고리즘
- 정렬
- 프로그래머스
- BASIC
- 딕셔너리
- 파이썬
- 그래프이론
- DFS
- 그리디 알고리즘
- CSS
- 그래프 이론
- JavaScript
- programmers
- lv2
- 자바스크립트
- 다이나믹 프로그래밍
- BFS
- 구현
- Today
- Total
목록브루트포스 알고리즘 (4)
DevLog:-)

문제 1. 초기 풀이 import sys N = int(sys.stdin.readline()) li = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(N)] s =[0] for i in range(N-1,-1,-1): S = li[i][0] M = li[i][1] MAX = M if(i+S-1)>=N: li[i][1] = -1 continue for j in range(i+S,N): #해당 일자의 상담기간 이후 기간을 for문으로 돌면서 최대 금액을 찾는다. if(li[j][1] != -1 ): MAX = max(MAX, M + li[j][1]) li[i][1] = MAX #각 일자별 최대 금액으로 list를 갱신한다. s.app..

문제 코드 import sys N,M = map(int,sys.stdin.readline().strip().split()) arr = [] for i in range(N): arr.append(list(map(str,sys.stdin.readline().strip()))) answer='' sum =0 for i in range(M): map ={"A":0, "C":0,"G":0 ,"T":0} for j in range(N): map[arr[j][i]] +=1 m = max(map,key=map.get) answer+=m sum += (N- map[m]) map.clear print(answer) print(sum) #answer=[](append)와 answer=""(+=)의 차이 코멘트 문제를 한 번..

문제 코드 1. import sys A,B = sys.stdin.readline().strip().split() min = len(B) for i in range(len(B)-len(A)+1): count =0 for j in range(len(A)): if(A[j]!=B[i+j] and i+j count): min =count print(min) 2. import sys A,B = sys.stdin.readline().strip().split() answer =[] for i in range(len(B)-len(A)+1): count =0 for j in range(len(A)): if(A[j]!=B[i+j] and i+j < len(B)): count+..

문제 코드 import sys arr = sys.stdin.readline().strip() A = "z"*len(arr) for i in range(1,len(arr)-1): for j in range(i+1,len(arr)): a = arr[:i][::-1] b = arr[i:j][::-1] c = arr[j:][::-1] B =a+b+c if(A>B):A=B #A =min(A,B) print(A) 발생한 오류 제출 후 발생한 오류는 range의 범위로 인한 오류였다. range(0, len(arr)-1)로 두었고 반복문이 0부터 시작하니까 첫 번째 문자를 고려하지 않는 오류가 발생했다. 따라서 range(1,len(arr)-1)로 변경하였다.