본문 바로가기

전체 글

(177)
[python] 프로그래머스 Level.1 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576?language=python3 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다...
[python] 프로그래머스 Level.1 모의고사 https://programmers.co.kr/learn/courses/30/lessons/42840?language=python3 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 ..
[python] 프로그래머스 Level.1 체육복 https://programmers.co.kr/learn/courses/30/lessons/42862?language=python3 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 ..
[GraphQL+NodeJS] GraphQL으로 영화API만들기_백엔드 해당 포스트는 노마드코더 - GraphQL으로 영화API만들기_백엔드편 인프런 강의를 듣고 정리한 글입니다. 실습 저장소 https://github.com/JisunParkRea/movieql JisunParkRea/movieql Movie API with Graphql. Contribute to JisunParkRea/movieql development by creating an account on GitHub. github.com GraphQL이 해결할 수 있는 REST의 문제 - Over-fetching : 요청한 정보보다 더 많은 것을 받게 되는 것 예) username이 필요하여 /users/ GET 요청을 하면, 그 외 email, age, 등등의 정보까지 받게 되는 것 - Under-fetc..
[python] 프로그래머스 Level.1 소수 찾기 https://programmers.co.kr/learn/courses/30/lessons/12921 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 문제 풀이 c++로 풀었던 방식으로, 에라토스테네스의 체 방식으로 풀었다. 그런데 파이썬으로 풀려니 좀 버벅거렸고, 파이썬 특유의 문법으로 정말 간결하게 표현하는 방법도 있었다! 많이 배워야겠다! solution.py 나의 풀이 def solution(n): cnt = [True]*(n+1) c = 0 for i..
[Django ORM] QuerySet 수정을 통해 성능 향상시키기 / SQL Queries 중복 줄이기 / select_related, prefetch_related 들어가며 처음 video list 페이지를 들어갈 때마다, video의 개수가 늘어나면서 로딩시간이 눈이띄게 길어진 것을 느낄 수 있었다. 그래서 찾게된 QuerySet 효율적으로 사용하기! 초보몽키의 개발공부로그를 통해 웹 성능을 향상시킬 수 있었다. 기존의 문제점 기존의 video list view를 보면 다음과 같은 방법으로 모든 video를 불러오고 이를 template로 넘긴다. video_list = Video.objects.all() # 모든 video 불러오기 return render(request, 'video/video_list.html', {'video_list':video_list}) # template에 넘기기 그리고 django-debug-toolbar을 통해 queries를 확..
[python] 프로그래머스 Level.1 K번째수 https://programmers.co.kr/learn/courses/30/lessons/42748?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 ..
[python] 프로그래머스 Level.1 2016년 https://programmers.co.kr/learn/courses/30/lessons/12901 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 ..