백준 24416 | DP | 알고리즘 수업 - 피보나치 수 1 [파이썬 python]
·
Algorithm/백준
24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍 www.acmicpc.net 처음 시도한 코드 n = int(input()) f1, f2 = 0, 0 # 각 함수의 실행 횟수 def fib(n): global f1 if n == 1 or n == 2: f1 += 1 return 1 else: return fib(n-1) + fib(n-2) f = [0] * (n+1) # DP 테이블 초기화 def fibonacci(n): f[1] = 1 f[2] = 1 global f2 for i in range(3, n+1): f[i] =..
프로그래머스 | 기능개발 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한 시간 동안 이 방법 저 방법을 해봐도 해결하지 못해서 '맨 앞 작업을 기준으로 판단하면 된다.'는 힌트를 보고 정답 코드를 작성할 수 있었다. 첫 번째 예시인 progress=[39, 30, 55], speeds=[1, 30,5] 일 때 과정을 설명하면 다음과 같다. 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있지만, 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포돼야 한다는 조건이 존재한다. 따라서 앞에 있는 기능부터 배포되어야 하므로, pro..
프로그래머스 | 2022 KAKAO BLIND RECRUITMENT | 주차 요금 계산 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 from datetime import datetime import math def solution(fees, records): answer = {record.split()[1]:0 for record in records} # 차량번호:누적시간 car = {} # 차량번호:입차시간 for record in records: time, car_num, inout = record.split() if inout == 'IN': # IN이면 딕셔너리 car에 입차시간 기록 car[car_num] = datetime..
프로그래머스 | 2019 KAKAO BLIND RECRUITMENT | 오픈채팅방 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(record): answer = [] # 채팅방 기록 id_name = {} # 유저 아이디: 닉네임 for i in record: if 'Enter' in i: id_name[i.split()[1]] = i.split()[2] answer.append('+' + i.split()[1]) elif 'Change' in i: id_name[i.split()[1]] = i.split()[2] else: answer.append('-' + i.split()[1]) for i in ran..
Django | WRANINGS: null has no effect on manytomanyfield
·
Django
기존 POST 모델과 TAG 모델을 ManyToManyField를 사용해 다대다 관계로 연결하고자 했다. tags 필드를 빈칸으로 남겨둘 수 있도록 null=True, blank=True로 설정하고 마이그레이션을 진행했더니, 다음과 같은 경고메시지가 출력되었다. ManyToManyField는 기본적으로 null=True가 설정되어 있기 때문에 우리가 tags에 입력한 null=True는 효과가 없다는 의미이다. 따라서, tags에서 null=True를 지워주고 마이그레이션을 진행하면 경고메세지 없이 정상적으로 마이그레이션 된다.
프로그래머스 | 2018 KAKAO BLIND RECRUITMENT | [1차] 뉴스 클러스터링 [파이썬 python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(str1, str2): str1 = str1.upper() str2 = str2.upper() # 다중집합 구하기 A, B = [], [] for i in range(len(str1)-1): str = str1[i:i+2] # 두글자씩 끊어 if str.isalpha(): # 영문자로 된 글자만 다중집합의 원소로 만듦 A.append(str) for i in range(len(str2)-1): str = str2[i:i+2] # 두글자씩 끊어 if str.isalpha..