일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 설계
- Join
- python
- css
- html
- Django
- 프로젝트
- GIT
- 아이엠어바텐더
- Len
- pcce 기출문제
- 파이썬 몫
- Python3
- 프로그래머스
- 데이터
- where
- 단어 공부
- map
- 슬라이싱
- ORDER BY
- 백준
- List Comprehension
- 파이썬 슬라이싱
- count
- 코딩테스트 연습
- SQL 고득점 Kit
- sql
- date_format
- 파이썬
- YOLOv5
- Today
- Total
목록python (93)
nan + nan = 2nan
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bfi9Pe/btsIaDIdXEJ/KF2mUCNoBpXJokzKQ8ZoxK/img.png)
코드 입력 주어진 N에 따라서 * 문자의 숫자를 늘려가면서 출력하는 문제이다.n은 input으로 받고, 문자열로 넘어올지도 모른다는 의구심은 항상 가지고 int로 덮어 씌워준다. 주어진 n을 range 를 이용해서 루프문을 돌려준다.이 때, range는 (0, n)을 사용하면 0부터 n-1까지만 루프를 돌기 때문에,1부터 시작하면서 n까지 도는 루프문은 n+1로 나타낼 수 있다.참고로, range의 인자는 다음과 같다.# start부터 end 까지 step만큼 움직임range(start, end, step)# start : 입력하지 않을 경우, 처음부터# end : 인자값의 -1까지# step : 범위를 순회할 간격을 설정## ex) step을 2로 설정 시,for i in range(0, 6, 2): ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgXa6S/btsHXODGSUc/R7y06B4I5Rkfekr3bMUB90/img.png)
코드 입력 아메리카노는 1잔에 5500원이기 때문에, 그 이하로 갖고 있으면 못 사먹으니if - else문을 이용해서 걸러준다.5500원 이상을 갖고 있다면, 5500원으로 예산을 나누었을 때 몫은 사먹을 수 있는 아메리카노의 잔 수이다.그리고 나머지는 아메리카노를 최대로 구매하고 남은 금액을 의미한다.남은 돈의 경우, 이번엔 *money - 5500(money//5500)으로 풀어서 표현했는데* (예산 - 아메리카노 구매 금액)간단히 표현한다면 money%5500으로 표현해도 같은 의미이다.-> 10000원이 있다면, 5500으로 나누었을 때 나머지는 4500. 몫은 1이니, 1잔을 구매하고 남은 금액은 4500원이 있다는 의미. 출처 : 프로그래머스https://school.programm..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DKrMN/btsHZhR6aXd/156AvLld3kEHutbyD87bzK/img.png)
코드 입력 조금 더 유려하게 코드를 짤 수도 있지 않았겠냐만은,if문 조건 4개 정도야... 하고 그냥 짰던 문제다.if - else 구문을 이용해서, 금액이 일정 금액 이상일 때 가격의 할인율을 반영한 결과를 제시하면 된다. 여담이지만 높은 금액부터 낮은 금액 순으로 해야, 해당 조건이 성립한다. # 잘못된 if문 설계 예시 if price >= 100000: answer = price*0.95 elif price >= 300000: answer = price*0.9 elif price >= 500000: answer = price*0.8 else: answer = price위의 조건처럼 만약 100,000원부터 높은 금액 순..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/LlU4u/btsHUORjMiD/KAQgB05lyIVXd7L5tOby7k/img.png)
코드 입력 평균 값을 return 하는 문제이다.라이브러리를 써서 구할 수도 있겠지만,기본적인 sum과 len을 이용했다.numbers의 합을 numbers의 원소 개수로 나누면 산술평균인 평균 값이 구해진다.이 때, sum과 len의 Data type은 리스트여야 한다.평균 값 = sum( 리스트 ) / len (리스트) 출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/120817 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/xWFxW/btsHVUbUDkH/kjPjKzWbILhM05jqXu3fck/img.png)
코드 입력 피자 나눠 먹기(2) 보다는 쉬운 문제라고 생각한다.피자의 조각 수와 사람의 수가 변수로 주어지기 때문에사람의 수로 피자 조각 수를 나누었을 때 나머지가 0이라면 사람의 수로 피자를 나눈 몫을,나머지가 0이 아닌 경우, 피자 1판을 추가한 몫 + 1을 반환한다.1) 나머지가 0인 경우는 예를 들어 7명일 때 7조각이라면 1판이 필요하기 때문에 몫인 1을, 48명일 때 피자 조각이 6조각이라면 8판이 필요하기 때문에 48/6의 몫인 8을 반환하면 된다.2) 나머지가 0이 아닌 경우는 18명일 때 7조각이라면 최소 3판이 필요하기 때문에 몫인 2에 1을 더한 3을 반환한다. 피자 나눠 먹기(1)과 거의 동일한 문제이다. (2)가 비교적 조금 1,3보다 난이도가 있는 문제 같다. 이전에 작성..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czRsCd/btsHVKADyab/Kr65iaiESfsLr9nJOqk3N1/img.png)
코드 입력 이번엔 앞선 문제와 조건이 조금 다르다.피자는 무조건 6조각이며, 피자를 남기지 않고 모두 같은 수의 피자를 먹어야 한다.그렇다면 사람의 수는 6의 배수여야 하는 조건이 있기 때문에, while 문을 사용했다.피자의 판 수가 answer가 되고, 6을 곱해 6조각씩 사람의 수로 나누고 이 때의 나머지를 확인한다.즉 6의 배수만큼 움직이면서 사람의 수로 나누었을 때 남는 조각이 없는 피자의 판 수를 찾는다. 출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/120815 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c9RWCf/btsHUDPYjw0/ubqS5vetP1uKimUgvlZxg1/img.png)
코드 입력 한 사람 당 피자를 무조건 한 조각씩 먹어야 하는게 조건이다.미지수는 사람의 수이기 때문에, 1) 7로 나누었을 때 만약 나머지가 없다면 해당 몫을 그대로 전달하면 되고,(7명이라면 1판, 14명이라면 2판)2) 나머지가 있는 경우, 몫 + 1을 전달하면 된다.(8명이라면 2판이면 최소 1조각씩, 15명이라면 3판이면 최소 1조각씩) 출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/120814 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/twVoB/btsHS64uMZr/OTEVsUhXxuCK0BG3w7b800/img.png)
코드 입력 주어진 array의 중앙 값을 도출하는 문제이다.다른 방법도 있겠지만, 조건이 제한적이기 때문에 나는 배열의 길이로 문제를 구했다.배열의 길이는 무조건 홀수이기 때문에, 길이가 1이 아닌 이상 길이를 2로 나눈 몫이 항상 중간에 위치하게 된다.1일 땐 0을, 나머지는 2로 나눈 몫을 반환한다. (사실 sorted(array)[len(array)//2] 로 해도 문제는 없다. 1을 2로 나누었을 때 몫은 0일거기 때문에..)그리고 배열이 오름차순으로 정렬한 다음 중앙 값을 구하기 위해, sorted() 함수를 사용해서 리스트를 정렬해주는 것을 잊지 말자.## 길이 1일 때list_ = [1]list_[0] = 1 # 중간값## 길이 3일 때list_ = [1, 2, 3]div = 3//2 # 중..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4bNZk/btsHRJwe64C/3msIzBcFyebhCKBzMEUfG1/img.png)
코드 입력 배열이 주어지고, 각 배열의 원소에 2배를 하면 되는 문제이다.List Comprehension을 이용해서 각 배열마다 2배를 곱한 원소로 생성된 새로운 배열을 return해준다.풀어서 쓰면 다음과 같다.def solution(numbers): answer = [] for num in numbers: answer.append(num*2) return answer 출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/120809 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.prog..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/by8DOA/btsHTAYuhBK/OTu7XOErDeECahK902ADb0/img.png)
코드 입력 num1을 num2로 나누고, 1000을 곱한 다음 정수 부분만 return을 해야 하는 조건에 맞춘 정답이다.num1/num2로 먼저 나누고, *1000으로 1000을 곱한 다음, 마지막 int() 함수를 사용하여 정수 부분만 return을 해준다. 출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/120806 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr