본문 바로가기

개발자취업32

99클럽 코테 스터디 24일차 TIL + 그래프(Graph) 오늘의 문제 - 그래프(Graph)프로그래머스 - 대충 만든 자판https://school.programmers.co.kr/learn/courses/30/lessons/160586내 풀이 및 접근 방식def solution(keymap, targets): answer = [] # target 문자열에서 모든 문자 추출 items = [] for target in targets: for chr in target: items.append(chr) # 중복 문자 제거 new_items = list(set(items)) # 문자별 최소 키 누르기 횟수 저장 dic = {} for item in new_i.. 2024. 8. 15.
99클럽 코테 스터디 23일차 TIL + 탐욕법(Greedy) 오늘의 문제 - 탐욕법(Greedy)프로그래머스 - 마법의 엘리베이터https://school.programmers.co.kr/learn/courses/30/lessons/148653내 풀이 및 접근 방식문제의 핵심은 가장 적은 수의 버튼으로 0층에 도달하는 방법을 선택하는 것이다.자리수가 5보다 작은 수는 1 버튼만을 사용하여 0층에 도달하는 것, 5보다 큰 수는 거꾸로 10에 가까운 수로 만들고 다음 자리수에서 10을 빼는 것이 0층으로 가기 위한 최소값임을 파악해야한다. 그리고 자리수가 5인 경우에는 그 다음 자리수를 고려하는 것이 중요하다.def solution(storey): answer = 0 while storey > 0: cur = storey .. 2024. 8. 14.
99클럽 코테 스터디 22일차 TIL + 동적계획법(DP) 오늘의 문제 - 동적계획법(DP)프로그래머스 - 멀리 뛰기https://school.programmers.co.kr/learn/courses/30/lessons/12914내 풀이 및 접근 방식이 문제의 점화식을 찾으면 피보나치 수열 점화식과 같다. n칸을 가기 위한 방법은 n-1칸에서 한 칸을 가는 방법과 n-2칸에서 두 칸을 가는 방법을 더해주는 것이다. 식으로 표현하면 f(n) = f(n-1)+f(n-2)이다.def solution(n): if n == 1: return 1 elif n == 2: return 2 answer = 0 prev1 = 1 prev2 = 2 for i in range(3, n+1): .. 2024. 8. 13.
99클럽 코테 스터디 21일차 TIL + 동적계획법(DP) 오늘의 문제 - 동적계획법(DP)프로그래머스 - 피보나치 수https://school.programmers.co.kr/learn/courses/30/lessons/12945내 풀이 및 접근 방식def solution(n): answer = 0 d= [0] * 100001 d[0] = 0 d[1] = 1 for i in range(2, n+1): d[i] = d[i-1] + d[i-2] answer = d[n] % 1234567 return answer 풀이각 단계의 피보나치 수열의 값을 저장하기 위해 d를 초기화한다.반복문을 이용하여 피보나치 수열 점화식 f(n) = f(n-1) + f(n-2)을 따라 2부터 n.. 2024. 8. 12.