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
- gs25
- 파이썬
- 금융문자분석경진대회
- 백준
- leetcode
- github
- Git
- 프로그래머스
- 코로나19
- 자연어처리
- 데이콘
- Baekjoon
- hackerrank
- dacon
- AI 경진대회
- PYTHON
- 맥북
- 편스토랑
- 캐치카페
- Docker
- Kaggle
- programmers
- 편스토랑 우승상품
- 우분투
- SW Expert Academy
- 프로그래머스 파이썬
- 더현대서울 맛집
- ChatGPT
- Real or Not? NLP with Disaster Tweets
- ubuntu
Archives
- Today
- Total
솜씨좋은장씨
[Programmers] 최솟값 만들기 (Python) 본문
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 최솟값 만들기 입니다.
코딩테스트 연습 - 최솟값 만들기
길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱
programmers.co.kr
👨🏻💻 문제 풀이
길이가 같은 두 개의 배열에서 하나씩 꺼낸 값의 곱을 계속 더한 누적 합 중 가장 작은 값을 구하는 문제입니다.
효율성까지 보길래 어려운가....! 했는데 조금만 생각해보면 정말 쉬운 문제였습니다.
가장 작은 값을 만들기 위해서는
하나의 배열 ( 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

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'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 |