일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 카카오 인턴
- Spring Boot
- 알고리즘
- 티스토리
- 보행자 천국
- Python
- 크레인 인형뽑기 게임
- 징검다리 건너기
- 호텔 방 배정
- 티스토리 open api
- 트라이
- Open API
- jdbc
- bulk update
- pycon
- CleanCode
- 트라이 #trie #알고리즘
- Tistory
- 불량 사용자
- 가사 검색
- 튜플
- trie
- 프로그래머스
- Today
- Total
목록분류 전체보기 (153)
택시짱의 개발 노트
링크 https://www.acmicpc.net/problem/14923 14923번: 미로 탈출 홍익이는 사악한 마법사의 꾐에 속아 N x M 미로 (Hx, Hy) 위치에 떨어졌다. 다행히도 홍익이는 마법사가 만든 미로의 탈출 위치(Ex, Ey)를 알고 있다. 하지만 미로에는 곳곳에 마법사가 설치한 벽이 www.acmicpc.net 풀이 BFS 를 이용하여 최소 경로를 찾고 벽을 부셨는지 여부를 체크하여 해결 4번 제출하고 3번을 틀렸는데 이런 상황을 생각하지 못해서 틀렸다. hx,hy = 1, 1 ex, ey = 1, 4 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 이때 BFS를 돌리면 [1, 1]의 벽을 부시고 [2, 3]으로 이동하는데 이때 이미 벽을 부셨기 때문에 더 이상 벽을 부실..
1. 코딩 스타일 읽기 쉬운 코드를 만들기 위해서는 축약적이거나 함축적인 변수명은 피한다. 함수 인자의 이름들은 꼭 써준다. 클래스와 메서드를 문서화한다. 코드에 주석은 꼭 달도록 한다. 재사용 가능한 함수 또는 메서드 안에서 반복되는 코드들은 리팩터링을 해둔다. 함수와 메서드는 가능한 작은 크기를 유지한다. 어림잡아 스크롤 없이 읽을 수 있는 길이가 적합하다. 임포트 (import) PEP 8은 임포트(import)를 할 때 다음과 같은 순서를 제안 표준 라이브버리 임포트 연관 외부 라이브러리 임포트 로컬 애플리케이션 또는 라이브러리에 한정된 임포트 장고 프로젝트 안에서는 아래와 같은 순서로 임포트 문들을 구성할 수 있다. # 표준 라이브러리 임포트 from math import sqrt from os..
링크 https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 풀이 코드가 너무 지저분한것 같다.. 다른 분 들이 작성하신 코드를 보면 내가 작성한 코드가 부끄러워진다... from collections import defaultdict def make_language_score_data(table): language_scores = defaultdict(dict) rank_score = [i for i in rang..
https://programmers.co.kr/learn/courses/30/lessons/77484?language=python3 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 1. Count 로 lottos, win_nums에 포함되어 있는 값을 counting하고 counting된 값을 교집합 하여 같은 숫자의 갯수를 구한다. 2. 이때 lottos에 0이 없다면 최대 당첨과 최소 당첨 등수는 같다. 3. lottos에 0이 있다면 최대 등수는 교집합..
아래의 글은 PyCon을 참고 하였습니다. !https://www.youtube.com/watch?v=S5SY2pkmOy0&t=382s 잠깐, 테스트 코드 작성이 정말 필요한가요? 생각보다 실제 환경에서 동작하는 코드는 복잡하다. 하나의 가장 적은 단위의 코드를 추가하거나 수정했다고 가정한다. 만약 그 코드가 문제가 있으면 그건 정말로 큰 부작용(Side-Effect)를 발생시킨다. 특정 조건에서만 발생하는 버그로 인해, 일부는 동작하고 일부는 동작하지 않는다면 사람이 검수로 버그를 발견하기도 힘들어진다. 이렇게 되면 코드 하나를 추가하는 것이 두려워지고 신뢰할 수 없게 된다. 테스트 코드는 이런 기능 추가와 수정이 발생할 때 발생할 수 있는 사이드 이펙트 탐지를 돕고 코드를 신뢰할 수 잏게 만들어준다...
아래의 글은 PyCon korea의 영상을 참고 하여 작성 하였습니다. https://www.youtube.com/watch?v=S5SY2pkmOy0&t=382s 깨진 유리창 이론 만약 한 건물의 유리창이 깨진채로 방치되어 있다면 머지 않아 그 건물의 다른 유리창도 깨질 것이다. 만약 문제가 그대로 방치되어 있다면 머지 않아 돌이킬 수 없는 문제를 야기할 수 있다. 보이스카우트 규칙 (Boy Scout Rule) 깨진 유리창 이론을 막기 위함 언제나 처음 왔을 때보다 깨끗하게 해놓고 캠프장을 떠날 것 클린 코드의 원칙 가드 클러즈 (GuardClause) 가드 클러즈 (GuardClauses)는 여러분의 인덴트(Indent)를 줄여줍니다. Before Refactoring def example(): us..
먼저 S3Boto3Storage를 상속 받아 class 생성 video/storage.py from sotrages.backends.s3boto3 import S3Boto3Storage class MediaStorage(S3Boto3Storage): # base bucket location location = 'media/marketing/' # access authority default_acl = 'public-read' 생성한 MediaStorage를 storage에 대입 models/video.py from django.db import models from video.storage ipmort MediaStorage class Video(models.Model): source = models.F..
요즘 계속해서 진행하고있는 사이드프로젝트의 진행사항을 알기 위해서 Github의 Webhook를 사용해보려 합니다. 프로젝트를 진행하며 저희는 slack을 이용하지 않고 discord를 이용하고 있어 discord에 github webhook를 달아봤습니다. 1. Discord의 서버에서 채팅 채널을 만들어 줍니다. 2. 생성한 채널의 채널 편집을 들어갑니다. 3. 채널 편집에 들어가서 연동을 누르면 웹후크가 있습니다. 4. 새로운 웹 후크를 만들고 웹후크 URL 복사를 눌러줍니다. 5. 웹 후크를 등록할 github의 setting에 들어가서 webhook를 눌러줍니다 6. Add webhook를 눌러주고 아까 discord에서 복사한 웹후크 URL뒤에 /github를 추가하여 Payload URL에 ..