코드리뷰(127)
-
[python_파이썬]백준_2839번_설탕 배달_풀이
공부하는허딩크 : https://www.youtube.com/live/wAItg8urY5U?feature=shared 문제가 짧다. 그래서 만만히 봤다.처음 문제 소개시 수학적 접근보다 부르트 포스로 푸는게 더 쉽다고 한다. 일단 생각하는대로 작성해 보았다. 6같은 숫자는 5 + 1 / 3 + 3이 나올 수가 있어, 5 + 1일 경우에는 출력값이 -1이고 3 + 3일 경우에는 출력값이 2이다.나는 그걸 고려하지 못했다.import sysinput = sys.stdin.readlineN = int(input())cnt = 0while (N > 0): if N >= 5: cnt += N // 5 N %= 5 elif N >= 3: cnt += N // 3 ..
2024.04.30 -
[python_파이썬_pass]백준_1436번_영화감독 숌_풀이
공부하는허딩크 : https://www.youtube.com/live/wAItg8urY5U?feature=shared 일단 말이 길다. 다 떠나서 예제를 보자.입력이 1이면 666, 2이면 1666, 3이면 2666이다.쉽게 보면 2부터 666 세자리 앞에 1, 2, 3, 4, 이렇게 붙이면 되는건가? 라는 오해를 할 수 있다.예제를 다시 보자.6까지는 5666출력, 187입력시 66666출력, 500입력시 166699출력이다.다시 문제를 읽어보고 이해를 했다. 단순하게 내가 원하는 순서 -1 + 666이 아니라 666이 들어간 숫자를 차례로 구하면 되는구나. 라는 결론을 내렸다.즉 입력값이 1부터 6까지는 666, 1666, 2666, 3666, 4666, 5666이다. 이 중간에 666이 나오는 숫자..
2024.04.30 -
[★python_파이썬]백준_1018번_체스판 다시 칠하기_풀이
공부하는허딩크 : https://www.youtube.com/live/XxNgKJkVQ-E?feature=shared문제가 길다. 일단 그림을 그려보았는데 복잡하다.엄청 고민하다가 일단 배열을 2개(graph, answer)를 정의해 주었다.graph는 입력값을 받아서 w, b를 표기하는 용도고answer는 graph[1][1]이 w일때 홀수 인덱스와, 짝수 인덱스에 w를 채우고, 나머지는 b를 채우는 역할이다. 그 이후에 전체를 돌면서 graph와 answer가 값이 다르다면 cnt + 1을 해주는 코드를 만들었다. import sysinput = sys.stdin.readlineN, M = map(int, input().split())graph = [[0] * (M+10) for _ in range(..
2024.04.28 -
[python_파이썬]백준_19532번_수학은 비대면강의입니다_풀이
공부하는허딩크 : https://www.youtube.com/live/XxNgKJkVQ-E?feature=shared 단순하게 수학적 지식으로 바로 코드를 작성했다. import sysinput = sys.stdin.readlinea, b, c, d, e, f = map(int, input().split())x = int((f/e - c/b) / (d/e - a/b))y = int((c - a * x)/b)print(x, y) 단순하게 수학적 지식을 물어보는게 아니겠지... 문제를 다시 천천히 읽어보자. import sysinput = sys.stdin.readlinea, b, c, d, e, f = map(int, input().split())x = int((b*f - c*e) / (b*d - a*e)..
2024.04.28 -
[python_파이썬]백준_2231번_분해합_풀이
공부하는허딩크 : https://www.youtube.com/live/XxNgKJkVQ-E?feature=shared분해합? 생성자? 뭐지? 천천히 어디에 적으면서 읽어보자.245의 분해합은 256이 된다.즉 분해합은 256 생성자는 245분해합 = 생성자 + 생성자 각 자리수의 합이게 본문에 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 는 문구의 뜻이다. (나는 한국사람이 아닌듯.) 자연수 N이 주어질때 N은 분해합이다.N으로 가장작은 생성자를 구하는 코드를 작성하면 된다. import sysinput = sys.stdin.readlineimport itertoolsA = [i for i in range(1, 10)]N = input().strip()for i in itertoo..
2024.04.28 -
[python_파이썬]itertools 학습_순열(permutions)과 조합(combinations)_풀이
공부하는허딩크 : https://www.youtube.com/live/7NjVRfUec38?feature=shared 백준에서 문제번호 2798번 블랙잭 문제를 풀면서 삼중for문을 만들어서 해결했다.삼중for문 말고 이중for문이 조금 더 효율적인 것을 배웠다. (아래 링크 참조)블랙잭 풀이 : https://heodinkcodingdiary.tistory.com/19 [python_파이썬_pass]백준_2798번_블랙잭_풀이공부하는허딩크 : https://www.youtube.com/live/qRYajWJrQv8?feature=shared문제는 단순하다.3장의 카드를 꺼내서 주어진 M대비 같거나 작은 숫자들 중에서 가장 큰 수를 뽑아내면 된다.itertools 라이브러리가 생heodinkcodingd..
2024.04.28