일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sort
- 알고리즘
- Django
- Riot
- 리그오브레전드
- git
- 그리디
- greedy
- 라이엇
- lol
- 그리디알고리즘
- java
- 스파르타내일배움캠프
- programmers
- 장고
- 파이썬
- 코딩테스트준비
- SQL
- 백준
- API
- drf
- python
- 내일배움캠프
- 스파르타내일배움캠프TIL
- 탐욕알고리즘
- 프로그래머스
- github
- 코딩테스트
- 롤
- 자바
- Today
- Total
목록파이썬 (51)
Lina's Toolbox
https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이from collections import Counterdef solution(X, Y): # 각 숫자의 빈도를 계산 count_x = Counter(X) count_y = Counter(Y) # 공통 숫자와 빈도를 저장할 리스트 common_digits = [] # 공통 숫자를 빈도에 맞게 추가 for digit in count_x: ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cBnj0V/btsI1HaUbdE/QcKzgz17ThIx9pqrPY7VN0/img.png)
디자인 패턴이란?디자인 패턴은 자주 사용되는 소프트웨어의 구조를 마치 건축 공법처럼 일반화한 것이에요! 교량의 양쪽 끝과 가운데의 주탑에 케이블을 두고 상판을 메다는 형식의 공법으로 만들어 진다고 합니다.→ 즉, 만드는 방식이 똑같아요! 이런 다리를 여러번 짓다보니까 자주 사용되는 구조들이 있으니, 그것들에 이름붙여서 일반화 해두면 좋지않을까요? 💡 이러한 아이디어를 소프트웨어로 가져와 봅시다.다양한 응용 소프트웨어를 만들다보니 공통적인 구조와 문제가 발생합니다. 이 때, 구조에도 공통점이 있고, 문제에도 공통점이 존재합니다.→ 패턴 (Pattern)이 보여요! 소프트웨어의 디자인 패턴 전세계의 개발자들이 개발을 하다보니 비슷한 문제를 해결하는 공통적인 구조를 발견합니다.벌써 우리가 이미 배운 디자인 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xSNv4/btsI0s7dLNQ/BOkvoFnzCmakKto3SjAmKK/img.png)
WEB 이해하기우리가 아무런 생각 없이 쓰는 WWW는 어떤 의미가 있을까요? 🤔WWW는 World Wide Web의 약자로 “전 세계에 펼쳐져 있는 거미줄”이라는 의미입니다.전 세계는 모두 물리적인 선으로 연결되어 있습니다.첫번째 그림의 파란 선들과 오른쪽에 보이는 것이 바로 해저 케이블입니다.우리는 이 해저 케이블로 물리적으로 연결되어있어, 이 해저 케이블을 따라 데이터를 주고 받으면서 네트워크 통신을 하는 것입니다.“잠깐! 요즘엔 위성이라는 게 있는데요?”위성 통신은 전세계 트래픽의 1%에 불과합니다.90%이상은 모두 해저 광케이블이 해결하고 있습니다.더보기케이블이 닿지 않는 곳은 어떻게 할까요? 🤔 (히말라야, 극지방 또는 개발도상국 …)→ 요즘 인터넷 안되면 살 수 없지 않나 😟 이러한 차이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/EcsiN/btsI0KMZUHf/Hhh6eziri01pjk2LzSC8o1/img.png)
프로젝트란?✔️ 하나의 프로젝트는 하나의 서비스!A라는 웹사이트를 만든다고 하면, A라는 프로젝트를 생성하는 것! 하나의 프로젝트는 하나의 기능만 하지 않습니다.우리가 이용하는 웹 사이트들을 떠올려볼까요?Naver, Facebook…유저, 게시물, 채팅, 좋아요 등 여러 기능으로 이루어져 있습니다.우리가 이용하는 웹 프로그램들을 보면 공통된 기능들이 존재합니다.이 기능들을 한 번만 만들고 재사용할 수 있다면?! 🧐→ 반복되는 작업이 줄어들어 효율적으로 개발할 수 있습니다!Django 앱(App)Django App == 내가 생각하는 하나의 기능 덩어리! (정해진 기준은 없다.)하나의 프로젝트는 여러 개의 앱으로 구성될 수 있습니다.하나의 앱으로 모두 개발하는 것도 가능합니다. (무엇이 좋다기보다 선택의..
문제 설명로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용순위당첨 내용16개 번호가 모두 일치25개 번호가 일치34개 번호가 일치43개 번호가 일치52개 번호가 일치6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다. 당첨 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bdKQPq/btsIXc5mBOd/4dteXSlyboSyIpqfJKV5l1/img.png)
Django 프로젝트Django는 프로젝트를 단위로 움직입니다! 프로젝트 시작하기“프로젝트를 시작한다 == 하나의 프로그램을 만들기 시작한다”를 의미합니다.프로젝트 시작과정가상환경을 생성합니다.가상환경을 활성화합니다.Django를 설치합니다.의존성 파일 requirements.txt를 생성합니다.프로젝트 생성장고를 설치하면 django-admin을 사용할 수 있게 된다.django-admin startproject 라는 디렉토리가 존재할 때:Django는 라는 새 디렉토리를 자동으로 생성그 새 디렉토리 안에 이라는 디렉토리를 생성 디렉토리 안에 Django 프로젝트의 기본 파일들과 폴더들이 생성가 존재하지 않을 때:라는 기존 디렉토리 안에 라는 새로운 디렉토리를 생성그 디렉토리 안에 Django 프로..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cWW8vL/btsIYY5u0il/rkYsDGofVx0xXV4Qa81R3K/img.png)
웹 페이지에서의 기능 구현 방법 1️⃣ 프로그래밍 언어를 이용해서 하나하나 모두 만드는 방법장점자신이 모든것을 이해할 수 있습니다.모든것을 뜻대로 동작하게 만들 수 있습니다.단점모든것을 아주 잘 알아야 합니다.→ 웹의 특성, 보안, 데이터베이스 등 정말 많은 부분들이 있어요.너무 많은 시간이 걸립니다. 2️⃣ 이미 만들어진 것을 가져와서 사용하는 방법→ 로그인 / 로그아웃 같이 많은 기능들이 웹사이트 마다 비슷해요!장점모든것을 만들 필요없이 가져다가 사용하는 방식으로 개발이 가능합니다.아주 빠르게 웹 사이트를 만들 수 있습니다.단점처음에 러닝 커브(학습 비용)가 존재합니다.→ 다른 개발자들이 만들어놓은 코드를 어느정도 이해하고 사용법을 알아야 해요!모든것을 원하는대로 커스텀하기 어렵습니다.→ 가져다가 쓰..
문제 설명문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다.이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다.만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solution을 완성하세요. 제한사항..
문제 설명어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리 · 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다.넓은 벽 전체에 페인트를 새로 칠하는 대신, 구역을 나누어 일부만 페인트를 새로 칠 함으로써 예산을 아끼려 합니다. 이를 위해 벽을 1미터 길이의 구역 n개로 나누고, 각 구역에 왼쪽부터 순서대로 1번부터 n번까지 번호를 붙였습니다. 그리고 페인트를 다시 칠해야 할 구역들을 정했습니다.벽에 페인트를 칠하는 롤러의 길이는 m미터이고, 롤러로 벽에 페인트를 한 번 칠하는 규칙은 다음과 같습니다.롤러가 벽에서 벗어..
문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를 들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다.2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항n은 2 이상 100,000 이하인 자연수입니다. 입출력 예 nreturn3255 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1, 2, 3, 5, .....