Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 더현대서울 맛집
- Kaggle
- Real or Not? NLP with Disaster Tweets
- github
- 파이썬
- AI 경진대회
- SW Expert Academy
- 코로나19
- 자연어처리
- Git
- 데이콘
- 프로그래머스
- leetcode
- PYTHON
- hackerrank
- gs25
- dacon
- 백준
- 우분투
- 캐치카페
- ubuntu
- 맥북
- 금융문자분석경진대회
- ChatGPT
- 편스토랑
- Baekjoon
- Docker
- 프로그래머스 파이썬
- 편스토랑 우승상품
- programmers
Archives
- Today
- Total
솜씨좋은장씨
[Programmers] 최솟값 만들기 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 최솟값 만들기 입니다.
👨🏻💻 문제 풀이
길이가 같은 두 개의 배열에서 하나씩 꺼낸 값의 곱을 계속 더한 누적 합 중 가장 작은 값을 구하는 문제입니다.
효율성까지 보길래 어려운가....! 했는데 조금만 생각해보면 정말 쉬운 문제였습니다.
가장 작은 값을 만들기 위해서는
하나의 배열 ( A ) 에서는 가장 큰 값 / 또 다른 배열 ( B ) 에서는 가장 작은 값을 꺼내어 곱한 값을
계속 더해주면 됩니다.
이에 A와 B를 sorted로 정렬 해주는데 이때 A는 오름차순 B는 내림차순으로 정렬합니다.
A와 B에서 각각 값을 꺼내오는 것은 zip을 활용하여 하나씩 순차적으로 꺼내오도록 했습니다.
전체 코드는 아래를 참고해주세요.
👨🏻💻 코드 ( Solution )
def solution(A,B):
answer = 0
for a, b in zip(sorted(A), sorted(B, reverse=True)):
answer += a * b
return answer
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 11718번 : 그대로 출력하기 (Python) (0) | 2022.02.25 |
---|---|
[BaekJoon] 11931번 : 수 정렬하기 4 (Python) (0) | 2022.02.25 |
[Programmers] 탐욕법(Greedy) - 큰 수 만들기 (Python) (0) | 2022.02.22 |
[Programmers] 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방 (Python) (0) | 2022.02.21 |
[BaekJoon] 2822번 : 점수 계산 (Python) (0) | 2022.02.20 |
Comments