일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- map
- 프로젝트
- Python3
- count
- Len
- 파이썬 몫
- 설계
- GIT
- python
- 코딩테스트 연습
- 파이썬 슬라이싱
- ORDER BY
- 백준
- SQL 고득점 Kit
- 아이엠어바텐더
- 단어 공부
- 데이터
- Join
- YOLOv5
- 파이썬
- html
- where
- css
- sql
- List Comprehension
- date_format
- 프로그래머스
- 슬라이싱
- pcce 기출문제
- Django
- Today
- Total
목록Python (117)
nan + nan = 2nan
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b4bYQX/btsH65j8Xum/gKCaG2ZqzaknlkWKkwC9gK/img.png)
코드 입력 간단한 문제이다. 2022년도의 한국식 나이로 출생 연도를 파악하는 문제이다.나이는 태어난 연도에 1살이기 때문에, 2022에서 해당 나이를 빼고 + 1을 해주면 태어난 연도가 된다.예를 들어, 3살인 경우 2020년도에 태어났다. 20년도 - 1살 / 21년도 - 2살 / 22년도 - 3살이기 때문에 태어난 연도는 2020년도가 된다.그렇기에, ( 현재 연도 - 나이 + 1 ) 공식이 성립한다. 출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/120820 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.p..
![](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/3VWCx/btsHSrBBoHH/Z4hVAwslrLbYo5yMxXDkpk/img.png)
코드 입력 파이썬에서 홀수, 짝수를 구분하는 방법은 보통 나의 경우에는 2로 나누었을 때의 나머지로 구분한다.나머지가 0이면 짝수, 나머지가 1이면 홀수인 것이다. 그래서 주어진 숫자 이하(주어진 숫자 포함)까지의 홀수가 오름차순으로 담겨야 하니,loop 문과 range를 주어진 숫자의 +1까지 설정하여 나머지가 1인 숫자들만 담는다. range가 주어진 n+1인 이유는, for i in range()를 해보면 무조건 0부터 시작하여 range 끝 수는 반환하지 않는다.예를 들어 for i in range(2): print(i) 를 했을 때 0과 1만 프린트 되는 것을 볼 수 있다. 주어진 숫자까지 포함해야 하는 문제이기 때문에, n+1로 담고 홀수인 수만 배열에 담아 return 한다.List Com..
![](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..