코딩 테스트/프로그래머스98 지폐 접기 첫번째 코드 내장 함수들의 사용법만 알면 작성하 수 있는 문제이다.가이드 라인이 있는데 해당 과정을 토대로 맞는 함수와 조건을 작성하면 된다. def solution(wallet, bill): answer = 0 while min(bill) > min(wallet) or max(bill) > max(wallet) : if bill[0] > bill[1]: bill[0] = bill[0] // 2 else: bill[1] = bill[1] // 2 answer += 1 return answer 통과!간단한 문제로 복기하고 다시 알고리즘이나 어려운 문제들을 도전하자!링크https://.. 2024. 10. 14. 물 부족 첫번째 코드 코드의 한줄만 바꿔서 문제에 맞는 코드로 바꾸는 문제였다.처음에 보고 느낀 것은 total_usage = 0 이므로 계속 0이 반복해서 들어가서 결과가 똑같아질 것 같은 것,그래서 total_usage를 바꿔야겠다 라는 생각을 했다. def solution(storage, usage, change): total_usage = usage for i in range(len(change)): usage = total_usage * change[i]/100 total_usage += usage if total_usage > storage: return i return -1 오류두번째 코드 생각해보니까 계속.. 2024. 10. 11. 연속된 부분 수열의 합 첫번째 코드 위도우를 통해 계산한다.이때 시작 인덱스와 끝 인덱스, 그리고 sequence 길이 자체를 헷갈리지 말아야 한다. 비내림차순인데 수열이므로 오름차순일 것이고, 끝에서부터 계산하면 가장 짧은 수열을 구할 수 있다.하지만 동일한 숫자가 반복되는 경우, 가장 앞에 있는 인덱스를 가져와야 하므로, 현재 숫자가 이전 숫자와 동일한 값인지 판단해야 한다. def solution(sequence, k): answer = [] num = 0 end_index = len(sequence) - 1 for start_index in range(len(sequence)-1, -1, -1): num += sequence[start_index] .. 2024. 9. 13. 숫자 변환하기 첫번째 코드 BFS를 이용해야겠다! 라고 생각을 했다.처음에는 값만을 넣었는데, count가 정답을 구하기 위해 별도로 필요하므로 [값, count] 형태로 현재까지의 계산값과 계산 횟수를 표시한다. 계산할 수 있는 모든 값을 계산하고, y와 같은 경우 answer 리스트에 넣는다.계산 횟수를 기준으로 정렬 한 후 계산 횟수가 가장 적은 경우만 불러온다. from collections import deque def solution(x, y, n): answer = [] count = 0 queue = deque() queue.append([x, count]) while queue: now = queue.popleft() count = now.. 2024. 9. 9. 배열 만들기 2 첫번째 코드 해당 범위의 수에서 0과 5으로만 구성되어 있으면, 정답에 포함한다.만약 정답 리스트가 비어있다면 -1을 반환하면 된다! def solution(l, r): answer = [] number = ['0', '5'] for i in range(l, r+1): now = str(i) now_in = True for j in now: if j not in number: now_in = False break if now_in == True: answer.append(i) if answer:.. 2024. 9. 6. [1차] 비밀지도 첫번째 코드 그리디 알고리즘을 이용하여 이진법으로 된 수를 구할 수 있다.원래는 arr1과 arr2를 이용하여 각각의 공백과 #으로 된 배열을 구한 뒤에 통합하려 했으나,계산량이 불필요하게 너무 많아질 것 같아 한번에 계산하였다. def solution(n, arr1, arr2): answer = [] for i in range(n): map = '' for j in range(n-1, -1, -1): if arr1[i] // (2**j) > 0 or arr2[i] // (2**j) > 0: map += '#' arr1[i] = arr1[i] % (2**j) .. 2024. 9. 2. 이전 1 2 3 4 5 ··· 17 다음 728x90