페어프로그래밍 - 알고리즘 문제풀기 https://chaeyami.tistory.com/82 [프로그래머스 스쿨] 코딩테스트 연습 - 2022 KAKAO BLIND RECRUITMENT - 주차 요금 계산 문제 문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표 입/출차 기록 자 chaeyami.tistory.com
문제문제 설명주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표입/출차 기록자동차별 주차 요금어떤 차량이 입차된 후에 출차된 내역이 없다면, 23:59에 출차된 것으로 간주합니다.0000번 차량은 18:59에 입차된 이후, 출차된 내역이 없습니다. 따라서, 23:59에 출차된 것으로 간주합니다.00:00부터 23:59까지의 입/출차 내역을 바탕으로 차량별 누적 주차 시간을 계산하여 요금을 일괄로 정산합니다.누적 주차 시간이 기본 시간이하라면, 기본 요금을 청구합니다.누적 주차 시간이 기본 시간을 초과하면, 기본 요금에 더해서, 초과한 시간에 대해서 단위 시간 마다 단위 요금을 청구합니다. 초과한 시간..
주말을 불태웠다 (쌩으로) KPT 회고 Keep 저희 팀은 프로젝트를 진행하면서 매일 정해진 시간에 스크럼 회의를 통해 일정 및 진행사항을 공유하고 문제점을 해결해 나갔습니다. 이를 통해 팀원들 간의 소통이 원할하게 이루어졌고, 프로젝트를 성공적으로 마무리할 수 있었습니다. 1. 아침, 저녘으로 규칙적인 회의와 소통을 진행한 점 2. 프로젝트 전 Git 사용법의 숙지 3. 구체적인 프로젝트 계획 4. 프로젝트 전 친목 형성 (정재준) 5. 소통이 잘 되고 서로 양보하고 배려하는 분위기 6. 모여있는 시간에 대한 규칙을 정하고 잘 지켜진 점 (서채연) 7. ERD 및 API 명세서를 전보다 구체적으로 기획하고, 그대로 백엔드 기능들을 구현하는데에 집중한 점 8. 팀원들이 시간 약속을 매우 잘 지킴 9. 팀..
DRF 프로젝트 - 이메일 인증 구현하기 이번 프로젝트에서 구현해야 하는 기능중에 꽤 생소한 이메일 인증 1,2 일차에 기본적인 백엔드 코드를 완성시켜뒀기 때문에 오늘 다 같이 이메일 인증에 도전하기로 했다. 5명이서 각자 해보고, 괜찮은 것을 고르거나 합쳐서 보완해 사용하기로 결정 이것저것 찾아보다가 장고에서 제공하는 EmailMessage 모듈이 있다는 것을 알았다. 이 모듈을 쓰면 SMTP를 이용해 이메일을 보낼 수 있당. 👇참고한 블로그👇 https://ssungkang.tistory.com/entry/entry/Django-회원가입-시-이메일-인증-SMTP [Django] 회원가입 시 이메일 인증, SMTP SMTP SMTP 는 Simple ..
다중이미지 업로드..... 가 해 보고 싶었다. Article 테이블에서 이미지필드를 빼고 이미지 테이블을 따로 만들어서 article 이랑 1:N으로 연결하는 시도 #articles/models.py ''' 이미지 다중 업로드 받기 - 게시글과 이미지를 1:N으로 설정해 테이블 생성 ''' # 이미지 업로드 경로 def image_upload_path(instance, filename): return f'{instance.article.id}/{filename}' class ArticleImage(models.Model): article = models.ForeignKey(Articles, on_delete=models.CASCADE, related_name='image') image = models...
페어프로그래밍 - 알고리즘 문제풀이 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution1(s, skip, index): answer = '' # 모든 알파벳 alphabet = 'abcdefghijklmnopqrstuvwxyz' # z를 넘어가면 다시 a부터 시작: 알파벳 바꿔주는 과정에서 처리 # s가 문자열이고, alphabet 문자열도 정의해줬으니까 인덱스를 사용해볼까? # 문자열 s의 각 알파벳을 index 만큼 뒤..
페어프로그래밍 - 알고리즘 문제풀이 1. 로그인 성공? # 로그인 성공? ''' 입력한 아이디와 패스워드가 담긴 배열 id_pw 회원들의 정보가 담긴 2차원 배열 db 로그인 성공, 실패에 따른 메시지를 return 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail” 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 제한사항 아이디는 문자열, 알파벳 소문자와 숫자로만 패스워드는 숫자로 구성된 문자열 회원들의 비밀번호는 같을 수 있지만 아이디는 같을 수 없습니다. id_pw의 길이는 2 id_pw와 db의 원소는 [아이디, 패스워드] 형태 1 ≤ 아이디의 길이 ≤ 15 1 ≤..
페어프로그래밍 - 알고리즘 문제풀이 👇 문제 👇 더보기 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 dots의 길이 = 4 dots의 원소는 [x, y] 형태이며 x, y는 정수입니다. 0 ≤ x, y ≤ 100 서로 다른 두개 이상의 점이 겹치는 경우는 없습니다. 두 직선이 겹치는 경우(일치하는 경우)에도 1을 return 해주세요. 임의의 두 점을 이은 직선이 x축 또는 y축과 평행한 경우는 주어지지 않습니다. 기울기 = y 값..
datetime.now() vs timezone.now() datetime.now() : 로컬 시스템 시간대 정보를 사용하여 현재 날짜와 시간을 반환 👉 시스템의 시간대 설정에 따라 결과가 다를 수 있다. timezone.now() : Django의 timezone 모듈을 사용, UTC) 기준으로 현재 날짜와 시간을 반환 👉 서버에서 실행되는 애플리케이션에서 일관된 시간대 정보를 사용할 수 있다. raise_exception raise_exception=True는 Django 폼(form)에서 유효성 검사를 실패했을 때 발생하는 예외(exception)를 즉시 발생시키도록 하는 인자(argument)입니다. Django 폼에서 is_valid() 메서드를 호출하여 유효성 검사를 수행할 때, 폼의 필드 값..
페어프로그래밍 - 알고리즘 문제풀이 def solution(num, total): answer = [] first = (total - num*(num-1)//2)//num final = first + num -1 answer = [i for i in range(first, final+1)] return answer # average = total/num # first = # final = first + num -1 # average = (first + final)/2 # average * num = total # (first + first + num -1)/2 * num = total = num*first+num*(num-1)/2 ''' 3개 더해서 12! 12/3 = 4 3 + 4 + 5 1,2,3,4..
7주차 4/24 ~ 4/30 Facts 이번주에 배운 것 1. 장고 실무 심화 2. MVT 특강, ERD, DB 특강, 객체지향 특강 3. 협업을 위한 소통법 특강 4. 개인과제 이번주 목표 1. 개인 과제 성공적으로 끝내기 ✅ 2. 특강, 선발대 수업 듣고 과제 잘 끝내기 ✅ 3. TIL 밀리지 않게 작성하기 ❎ 4. 주 80시간 이상 공부하기 ✅ Findings - 얻은 결과 drf, serializer, jwt 토큰 등 새로운 것들을 많이 배우고 적용해보는 한 주 Feelings 기초 강의, 개인과제, 팀프로젝트로 django에 대해 꽤 많이 배웠고 익숙해졌다고 생각했다. 그런데 새로운 것들을 배우고 적용하려고 하니 완전히 새롭고 낯선 장고가 되어있었다... 그래도 강의를 두어번 반복하고, 개인 과..
def solution(num, total): answer = [] first = (total - num*(num-1)//2)//num final = first + num -1 answer = [i for i in range(first, final+1)] return answer # average = total/num # first = # final = first + num -1 # average = (first + final)/2 # average * num = total # (first + first + num -1)/2 * num = total = num*first+num*(num-1)/2 ''' 3개 더해서 12! 12/3 = 4 3 + 4 + 5 1,2,3,4,5,6 2,3,4,5,6 5개 더해..