하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부
-
[백준] 11047 동전 0하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 3. 30. 13:34
문제 링크 [https://www.acmicpc.net/problem/11047] 첫 제출 -> 시간초과 coins = [] answer = 0 n, k = map(int, input().split()) for i in range(n): coins.append(int(input())) for i in range(n-1, -1, -1): if k >= coins[i]: while k >= coins[i]: k -= coins[i] answer += 1 else: pass print(answer) 정답 제출 (시간 : 60ms) coins = [] answer = 0 n, k = map(int, input().split()) for i in range(n): coins.append(int(input())) ..
-
[프머] 코딩테스트연습/ 스택, 큐/ 쇠막대기하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 3. 26. 15:28
문제 사이트 [https://programmers.co.kr/learn/courses/30/lessons/42585] 손코딩 나의 코드 def solution(arr): start_stack = [] answer = 0 for i in range(len(arr)): if arr[i] == '(': start_stack.append(i) else: diff = i - start_stack.pop() if diff == 1: answer += len(start_stack) else: answer += 1 return answer 좋은 코드 def solution(arrangement): answer = 0 sticks = 0 rasor_to_zero = arrangement.replace('()','0') ..
-
[프머] 코딩테스트연습/ 스택, 큐/ 프린트하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 3. 18. 17:42
문제 : [https://programmers.co.kr/learn/courses/30/lessons/42587] def solution(priorities, location): count = 1 waits = {} for i in range(len(priorities)): waits[i] = priorities[i] values = list(waits.values()) max_value = max(values) number_of_max = values.count(max_value) while(1): temp = next(iter(waits.items())) key_first, value_first = temp[0], temp[1] if value_first == max_value: i..
-
[프머] 코딩테스트 연습/스택, 큐/기능개발하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 3. 10. 18:07
[https://programmers.co.kr/learn/courses/30/lessons/42586] 알고리즘 문제 팁 : - 맨 위에 이야기부터 읽으면 이해가 힘들다. 문제 output해설 부분부터 읽고, 문제를 풀자. - 손 코딩 먼저하고 문제를 풀자. - 문제를 하나하나 꼼꼼히 읽어야 한다. 문제 풀이 및 코드 import math def solution(progresses, speeds): answer = [] complete_day = [] for i in range(len(progresses)): temp = math.ceil((100 - progresses[i]) / speeds[i] ) complete_day.append(temp) # print(complete_day) first_of..
-
[프머] 2018 KAKAO BLIND RECRUITMENT 자동완성하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 2. 28. 13:42
https://programmers.co.kr/learn/courses/30/lessons/17685?language=python3 1. sort a. 앞과 뒤 문자와 비교하기 def solution(words): answer = 0 words.sort() for idx in [0, len(words)-1]: cases = -1 if idx > 0 else 1 for order in range(len(words[idx])): try: if words[idx][order] == words[idx+cases][order]: answer += 1 else: answer += 1 break except: answer += 1 break for idx in range(1,len(words)-1): left = 0..
-
[백준] 16549 숨바꼭질 3하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 2. 18. 20:09
문제는 다음과 같습니다. https://www.acmicpc.net/problem/13549 1. 수빈이는 *2배를 0초만에 갈 수 있다. 2. 수빈이는 +1 -1을 각각 1초만에 갈 수 있다. 문제 풀이 - dynamic programming 1. 0부터 N까지 먼저 채워놓고, N부터 차근차근 하나씩 앞으로 나가면서 해당 자리에 오는데 걸리는 최단시간을 찾는다. def fineMaxTime(N,K): MaxTime = K-N i = 2 while(1): dist = K - N*i if MaxTime = K : return (N-K) Maxtime, max_num_list = fineMaxTime(N,K) lst = [Maxtime+1] * (max_num_list+1) # complex case for..
-
[백준] 17404 RGB거리 2하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 2. 18. 20:08
주의해야 했던 점 : 첫번째 집과 마지막 집도 이웃이다. 처음에 생각했던 방법과 손코딩 : 가장 단순한 방법으로, 모든 경우의 수를 찾는 방법이다. 이를 위해 reculsive function을 사용했다. (재귀함수) 하지만 역시.. 시간 초과 정답 : 아래의 사이트 참고해서 공부할 것 https://m.blog.naver.com/occidere/220785383050 https://copy-driven-dev.tistory.com/m/78?category=837580 https://taekho-nology.tistory.com/100