코드리뷰(127)
-
[python_파이썬_Fail_미해결]백준_14888번_연산자 끼워넣기_백트레킹_풀이
공부하는허딩크 : https://www.youtube.com/live/WSAIqn6prZQ?feature=shared총 1시간 이상 고민한 것 같은데 아직 해결을 못했다.어떻게 백 트레킹으로 구현해야하는지도 감이 잡히지 않는다.eval()을 활용해서 연산의 결과 값을 구하는 코드를 작성하였다.※ 이 문제의 조건은 일반적인 연산 법칙을 따르는 것이 아닌 순서대로 연산을 하는게 주요 포인트이다. => 그래서 틀림.#첫번째 시도 : 연산자를 순서대로 계산하는 조건 불만족N = int(input())nums = list(map(int, input().split()))oper_num = list(map(int, input().split()))oper = ["+", "-", "*", "//"]new_oper = [..
2024.08.26 -
[python_파이썬_Pass]백준_2947번_나무 조각_시뮬레이션_풀이
공부하는허딩크 : https://www.youtube.com/live/WSAIqn6prZQ?feature=shared 회사 점심시간을 활용해 해결했다. 마지막 print할때 리스트로 출력하는 기초적인 실수....import sysinput = sys.stdin.readlinenums = list(map(int, input().split()))answer = [1, 2, 3, 4, 5]while nums != answer: for i in range(5 - 1): if nums[i] > nums[i + 1]: x, y = nums[i], nums[i + 1] nums[i], nums[i + 1] = y, x print(nums) ..
2024.08.26 -
[python_파이썬_Pass]백준_1547번_공_시뮬레이션_풀이
공부하는허딩크 : https://www.youtube.com/live/WSAIqn6prZQ?feature=shared 회사 점심시간 사이 2문제 해결. 실제로는 여러 방향으로 시도를 하면서 잘못된 답이 나오고 최종 코드로만 제출을 했다.처음에는 answer[answer.index(X)], answer[answer.index(Y)] = Y, X를 했는데 계속 오류가 나서 곰곰히 생각을 해 보았더니 answer[answer.index(X)] = Y가 먼저 실행되고, 뒤를 이어 answer[answer.index(Y)]가 실행되면 기존 answer가 수정된 상태로 index가 구해지므로 의도치 않은 결과가 나온다는 걸 이해했다.import sysinput = sys.stdin.readlineM = int(in..
2024.08.26 -
[python_파이썬_Pass]백준_15652번_N과 M(4)_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/Q8BKRFH8mW0?feature=shared이번에도 itertools와 재귀함수를 활용해서 해결해보자 라이브러리를 활용하면 정말 깔끔한 코드가 만들어 진다.import sysfrom itertools import combinations_with_replacement as cwrinput = sys.stdin.readlineN, M = map(int, input().split())nums = list(i for i in cwr(range(1, N + 1), M))for num in nums: print(*num) cwr([], 조건)을 어떻게 줄까 조금 고민했으나 중복이 허용되므로 i로 조건을 걸었다.import sysinput..
2024.08.25 -
[python_파이썬_Pass]백준_15651번_N과 M(3)_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/Q8BKRFH8mW0?feature=shared백트레킹 문제를 1번과 2번을 통해서 itertools를 활용해서 해결하는 방법과 재귀함수를 활용해서 해결하는 방법을 복습하면서 정리했다.1. itertools.permutations()와 재귀 활용 : https://heodinkcodingdiary.tistory.com/88 [python_파이썬_Half Pass]백준_15649번_N과 M(1)_백트래킹_풀이공부하는허딩크 : https://www.youtube.com/live/zD3naTrHxto?feature=shared ※ 백트레킹으로 문제를 해결하는 것인데 일단 itertools.permutations로도 해결이 가능하다.즉, 같은..
2024.08.25 -
[python_파이썬_Half Pass]백준_15650번_N과 M(2)_백트래킹_풀이
공부하는허딩크 : https://www.youtube.com/live/zD3naTrHxto?feature=shared 아직 백트레킹이 익숙치 않아서 역시나 itertools로 해결했다. 이번에는 순서를 고려할 필요가 없어 combinations로 해결했다. N, M = map(int, input().split())nums = list(i for i in range(1, N + 1))NUMS = list(itertools.combinations(nums, M))for i in NUMS: print(*i) 이 코드가 참 마음에 든다. 깔끔하다.N, M = map(int, input().split())def dfs(seq, start): if len(seq) == M: print(*se..
2024.08.19