목록파이썬 (115)
규도자 개발 블로그
[프로그래머스/연습문제/파이썬3(python3)] 문자열 내 p와 y의 개수 문제 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를 들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 sanswer "pPoooyY"true"Pyy"false 풀이 def solution(s): return Tru..
django project에 contribute할 내용 (url dispatcher에 대한 건) 예전에 관련 작업을 할 때마다 아 이건 django 프로젝트 커뮤니티에 제보를 하던가 혹은 내가 직접 contributor가 돼서 개선 혹은 변경을 해야겠다고 생각한 부분이다. 약 반년 전쯤에도 작업을 하다가 떠올랐던 부분인데 뭔지 까먹어서 잊었던 부분이고 최근에 또 작업하다가 big aha moment를 만나서 다시는 까먹지 않게 여기에나마 기록해두려 한다. 직접적인 개선 방법 및 커뮤니티에 기여자로 참여하는 방법들을 모르니 일단 여기에 기록해둔 뒤에 직접 기고할 계획으로 말이다. 이 생각이 든 건 form을 제공하는 페이지에서 데이터를 수정하고 저장할 때 url을 지정하는 부분을 작업할 때였다. 어떤 fo..
Django Template에서 List사용하기 Django는 JSP나 PHP와는 다르게 Template(html과 로직이 섞여있는 곳) 내에서 자료형을 선언하거나, 백단에서 쓰던 언어를 그대로 쓰는 등의 행위가 굉장히 제한적이다. 그런 데에 있어서 편의성은 PHP가 넘사벽이지만 JSP도 자바로직과 자료형을 그대로 쓸 수 있다는 장점이 있다. 하지만 Django는 그런 면에서는 굉장히 불편하다. 물론 필요한 자료형을 애초에 get request요청시에 context에 담아서 가져올 수 있지만 굳이 그럴 필요가 없이 한 군데에서만 임시적으로 써야하는 자료형이라면? 그때부턴 귀찮음이 몸을 지배하기 시작한다. 예를 들어 파이썬에서 흔하게 쓰는 List를 템플릿에서 쓰고자 한다면 {% with list = [1..
[프로그래머스/연습문제/파이썬3(python3)] 가운데 글자 가져오기 문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 sreturn "abcde""c""qwer""we" 풀이 def solution(s): return s[(len(s)-1)//2: (len(s)//2) + 1] 설명 간단한 문자열 자르고 붙이기 문제이다. 원래 짝수의 경우와 홀수의 경우 둘로 나눠 if문으로 가르고 들어갔었는데 다른 사람의 훌륭한 풀이를 보고 개선하였다. 이렇게 멋진 해결책을 볼 때마다 시무룩하지 말고 수긍하고 배워나가는 자세를 유지해야하지 않을까 싶다.
[프로그래머스/연습문제/파이썬3(python3)] 수박수박수박수박수박수? 문제 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한사항 n은 길이 10,000이하인 자연수입니다. 입출력 예 nreturn 3"수박수"4"수박수박" 풀이 def solution(n): water_melon = '수박' return water_melon * (n // 2) + water_melon[0] * (n % 2) 설명 간단한 문자열 자르고 붙이기 문제이다.
[프로그래머스/연습문제/파이썬3(python3)] K번째수 문제 배열 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번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사..
[프로그래머스/연습문제/파이썬3(python3)] 예산 문제 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함..
[프로그래머스/연습문제/파이썬3(python3)] 완주하지 못한 선수 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 partici..
[프로그래머스/연습문제/파이썬3(python3)] 직사각형 만들기 문제 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 제한사항 v는 세 점의 좌표가 들어있는 2차원 배열입니다. v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다. 좌표값은 1 이상 10억 이하의 자연수입니다. 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를..
[프로그래머스/Level2/파이썬3(python3)] [1차] 캐시 (2018 KAKAO BLIND RECRUITMENT)문제 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다. 어피치는 제이지에게 해당 로직을 개선하라고 닦달하기 시작하였고, 제이지는 DB 캐시를 적용하여 성능 개선을 시도하고 있지만 캐시 크기를 얼마로 해야 효율적인지 몰라 난감한 상황이다. 어피치에게 시달리..