본문 바로가기

전체 글

(178)
[완전 탐색] 프로그래머스 level 1 최소직사각형 python 풀이 무식해 보여도 사실은 최고의 방법일 때가 있지요. 완전 탐색? 모든 가능한 경우의 수를 시도하여 원하는 결과를 찾는 알고리즘 기법. 브루트 포스(Brute Force)라고도 함. 경우의 수가 많거나 입력 크기가 큰 경우에는 계산 비용이 높아질 수 있다. 완전 탐색은 작은 규모의 문제나 기준이 명확한 경우에 유용함. 해결 흐름 1. 가로나 세로 중에서 가장 큰 값이 다음 직사각형의 가로나 세로 값보다 작으면 교체 -> 즉 가장 큰 값을 찾아야함 2. 만약 가로 값이 가장 큰 값 일때, 세로 값도 다른 직사각형의 세로 값보다 커야함 -> 즉 작은 값들중 가장 큰 값을 찾아야함 3. 직사각형들 중에서 하나의 직사각형 가로나 세로중 더 큰 값들 중에 가장 큰 값 * 작은 값들 중에서 큰 값 코드 def solu..
[Hash] 프로그래머스 level 1 폰켓몬 Java 풀이 Hash란? Hash는 임의 크기의 데이터를 고정 크기의 값으로 변환하는 함수 또는 알고리즘을 의미 HashSet? HashSet은 중복되지 않는 고유한 값을 저장하기 위한 자료 구조 해결 흐름 1. int[] nums의 중복 요소를 제거하고 그 길이를 리턴 -> HashSet 사용 2. nums/2 개 만큼 폰켓몬을 데려갈 수 있는데 nums/2 크기가 HashSet의 크기보다 작다면 최대 종류 별로 nums/2 까지 밖에 못 데려감 -> nums/2 리턴, HashSet 크기가 nums/2 보다 작다면 HashSet 크기 리턴 입출력 예 nums, result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 코드 import java.util.*; class Soluti..
한글코드 관련 자료조사, KS 완성형, 유니코드, UTF 인코딩 등 한글코드란? 컴퓨터에 한 번 입력된 자료는 우리가 아는 문자나 숫자의 형태에서 컴퓨터가 처리하기 쉬운 부호로 바뀌어서 기억 장치에 저장되는데 이 컴퓨터용 부호를 한글코드라고 말한다. 예를 들어 미국에서 표준으로 쓰이는 ASCⅡ코드를 지원하는 컴퓨터들에서는 영문의 ‘A’는 컴퓨터 내부에서 숫자 65로 ‘B’는 66으로 바뀌어 저장된다. 마찬가지로 한글코드는 한글로 작성한 문자를 컴퓨터용 부호로 변환하기 위한 규칙이다. 한글코드의 유형으로는 조합 원리에 따른 유형, 완성형에 따른 유형이 있다. 조합 원리에 따른 유형 조합 원리에 따른 유형으로는 N 바이트 코드, 3 바이트 코드, 상용 조합형이 있다. N 바이트 코드 한글을 풀어쓴 것과 같이 자음과 모음을 각각 1바이트씩 처리하는 형식의 코드이며 2~5바이트..
여름의 대삼각형 데네브, 알타이르, 베가 오늘 새벽에 찍은 여름의 대삼각형 (아레가) 데네브, 알타이르, 베가 입니다. 아이폰 12 pro로 촬영하였는데, 별 찍기 재미있군요. Starwalk 2 라는 앱으로 현재 위치에서 밤 하늘의 별이나 행성이 떠 있는 위치를 보여주어서 잘 활용하고 있습니다.
[GraphQL] GraphQL? A query language for your API GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. "CRUD API를 GraphQL로 새로 ..
[Docker]docker, docker swarm, docker compose 간단 정리 Concepts 애플리케이션의 개발, 배포, 실행을 컨테이너를 통해 가능하게 해주는 플랫폼. 컨테이너란 개념은 새로운 것이 아니며, 이전과 달리 새로운 것은 어플리케이션을 쉽게 컨테이너를 통해서 배포하게 해줌. Container? Image? 컨테이너는 실행되고 있는 이미지에 의해 launch 된다. Image 런타임, 라이브러리, 환경 변수, 설정 등 즉 어플리케이션을 실행하기 위한 모든 것을 포함하는 실행 가능한 패키지 Container 실제로 이미지 위에서 실행되고 있는 런타임 인스턴스 Container VS VM VM의 경우 각각 자신만의 OS를 갖고있음 컨테이너는 기존의 OS 위에서 구동됨 Dockerfile? Container의 환경을 정의하는 파일 # syntax=docker/dockerfi..
[django] Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField' 경고? 경고 내용을 읽어보면 각 모델에서 primary key 타입을 명시하지 않아서 생긴 경고입니다. 하지만 장고에선 자동으로 primary key로 사용할 타입을 자동으로 설정해준다고 합니다. By default, Django gives each model an auto-incrementing primary key with the type specified per app in AppConfig.default_auto_field or globally in the DEFAULT_AUTO_FIELD setting. For example: id = models.BigAutoField(primary_key=True) 위 코드는 모델에서 사용할 primary key를 BigAutoField(1부터 시작하는 64bi..
[django] class-based view와 function-based view? 학교 웹서버 컴퓨팅 수업에서 프로젝트를 진행하다가 간단한 홈페이지를 만들고 싶어서 HomeView를 어떻게 구현할까 찾던 중에 class-based view라는 것을 알게 되었습니다. 학교 수업 시간에 배운 View는 다음과 같았습니다. @login_required(login_url="common:login") def question_create(request): """ pybo 질문등록 """ if request.method == "POST": form = QuestionForm(request.POST) if form.is_valid(): question = form.save(commit=False) question.author = request.user # 추가한 속성 author 적용 questio..