-
[swea] 1244번: 최대상금 - 파이썬(python)
완전탐색을 이용한 풀이. 갈피를 잡지 못해 다른 분들의 코드를 참고했다. 0번째 인덱스부터 탐색을 시작하는데, 현재인덱스값 이상인 값이 있다면, 현재 인덱스의 값과 교환한다. 그런다음,(현재 탐색중인 인덱스 (i) , 교환횟수+1) 을 dfs 인자로 주고 탐색한다. 만약 교환횟수를 모두 써버렸다면, 최댓값보다 현재 교환된 숫자결과가 더 크다면 갱신한다. 만약, 이미 내림차순 정렬이 되어있어 교환횟수가 남아있는 상태라면, 홀수라면 마지막 1,2번째 인덱스를 바꾸고, 짝수라면 그대로 둔다. 나의 풀이 def dfs(idx, n): global max_val if n == int(cnt): max_val = max(max_val, int(''.join(data))) return for i in range(id..
알고리즘/완전탐색
2022. 11. 14.
-
[프로그래머스] 모음사전 - 파이썬(python)
나의 풀이 def dfs(x, dictionary, alpha): dictionary.append(x) for i in alpha : if len(x) != len(alpha) : dfs(x+i, dictionary, alpha) else : x[:-1] def solution(word): alpha = ['A','E','I','O','U'] dictionary = [] for i in range(len(alpha)) : dfs(alpha[i], dictionary, alpha) return dictionary.index(word) + 1 DFS 로 풀이한 문제이다. 먼저 dictionary 에 현재 나의 문자를 추가한다. 그리고, alpha 리스트를 반복문으로 돌면서, 문자열 x의 길이가 5 보다 작다..
알고리즘/완전탐색
2022. 9. 7.
-
[프로그래머스] 모의고사 - 파이썬(python)
나의 풀이 def solution(answers): answer = [] count = len(answers) one = ([1,2,3,4,5] * (count//5 + 1))[:count] two = ([2,1,2,3,2,4,2,5] * (count//8 + 1))[:count] three = ([3, 3, 1, 1, 2, 2, 4, 4, 5, 5] * (count//10 + 1))[:count] score = [0,0,0] print(one, two, three) for i in range(count) : if answers[i] == one[i] : score[0] += 1 if answers[i] == two[i] : score[1] += 1 if answers[i] == three[i] : sc..
알고리즘/완전탐색
2022. 9. 6.