프로그래머스(47)
-
[python_파이썬_pass]백준_13241번_최소공배수_풀이
공부하는허딩크 : https://www.youtube.com/live/Po-wyZ1d0yg?feature=shared바로 직전에 1934번 최소공배수 문제를 풀었으면 금방 풀 수 있다. > 문제중 큰 수 입력에 대하여 변수를 64비트 정수로 선언하시오? 이게 무슨말이지??? 파이썬은 c언어처럼 변수의 크기를 할당하는게 없을텐데?'' 파이썬에는 해당 없음. ★공배수 관련 정리 : https://heodinkcodingdiary.tistory.com/56 [python_파이썬_공배수 시간복잡도_유클리드호제법]백준_1934번_최소공배수_풀이공부하는허딩크 : https://www.youtube.com/live/0PBsmU7Tfk4?feature=shared일단 수학적 지식 없이 코드를 작성해보자. 개인적으로 함..
2024.05.13 -
[python_파이썬_공배수 시간복잡도_유클리드호제법]백준_1934번_최소공배수_풀이
공부하는허딩크 : https://www.youtube.com/live/0PBsmU7Tfk4?feature=shared일단 수학적 지식 없이 코드를 작성해보자. 개인적으로 함수나 알고리즘 없이 생각나는대로 작성하는 것을 선호한다. 파이썬 프로그램을 돌려도 한참 뒤에 출력이 된다 => 그래서 코드가 오류인줄 알았음 import sys input = sys.stdin.readline #최소공배수: 알고리즘 없이 그냥 생각나는대로.... T = int(input()) for _ in range(T): A, B = map(int, input().split()) A, B = min(A, B), max(A, B) B_list = [] cnt = 1 while A * cnt not in B_list: B_list.ap..
2024.05.12 -
[python_파이썬]백준_11478번_서로 다른 부분 문자열의 개수_풀이
공부하는허딩크 : https://www.youtube.com/live/0PBsmU7Tfk4?feature=shared보기보다 쉽지 않은 문제다."일단 연속된 일부분"이라는 단어에 주목해야 한다. => 이게 아니면 실버등급의 문제가 아닌듯... 즉, combinations조합으로 모든 조합을 뽑아내는것이 아니라, 연속된 글자여야 한다는 것이다. combinations로 쉽게 조합을 가져 올 수 있을 것으로 예상했으나 아예 방향을 잘못 잡음.import sysimport itertoolsinput = sys.stdin.readlineS = input().strip()s = set()for i in range(1, len(S) + 1): s.add(itertools.combinations(S, i))fo..
2024.05.11 -
[python_파이썬_pass]백준_1269번_대칭 차집합_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared 함수만 알면 정말 깔끔하게 해결 할 수 있다. 직전 문제에서 해당 함수를 봤기 때문에 해결할 수 있었다.집합 함수 관련 정리 : https://heodinkcodingdiary.tistory.com/53 [python_파이썬_pass_집합 관련 함수 설명]백준_1764번_듣보잡_풀이공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared 2개의 입력값을 비교해서 2번 나오면 사전순으로 출력하는 문제이다.처음에 기존 방식처럼 N과 M의 입력값들을 list로 구분하려고 방heodinkcodingdiary.tistory.comimpo..
2024.05.11 -
[python_파이썬_pass]백준_10816번_숫자 카드2_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared 10815번 숫자카드를 풀었다면 이것도 바로 해결할 수 있다.방법은 동일하다. dict를 활용해서 key값에 해당하는 value값을 불러오면 된다.단, key값이 없을 경우 error를 어떻게 대응하는지 2가지 방법으로 해결했다. map으로 받을때 리스트로 변환하기 위해서 [map()]이렇게 하면 안된다. 꼭 list(map())으로 하자. => {: 1}처음에 N_list로 가지고 있는 카드의 숫자를 리스트로 만들어 주고 이걸 dict로 전환한다. 이때 동일한 숫자는 value에 +1을 한다try except로 M_list를 불러오면서 dict에 key값이 없으면 0을 출력, key값이..
2024.05.11 -
[python_파이썬]백준_1620번_나는야 포켓몬 마스터 이다솜_풀이
공부하는허딩크 : https://www.youtube.com/live/S9Tn1JM6-yc?feature=shared문제가 너무 길다. 다 필요 없고 입력과 출력 조건만 보면 된다. 결론은 도감에 수록되어 있는 몬스터들이 있다. 그 다음 문제로 내는 몬스터 이름과 숫자가 도감에 있는지 여부 및 출력하는 것이다. 시간제한 2초로 도감을 list로 만들어서 enumerate로 인덱스와 값을 찾아서 문제를 풀기에는 일단 시간초과가 나올 것으로 예상되었다. 일단 도감을 dict로 만들어주고 문제를 하나씩 받아서 value와 key값을 비교 후 출력함 => 이중for문 사용#시간초과 : 이중for문을 풀어야함.N, M = map(int, input().split())monster = {}for i in rang..
2024.05.11