다들 안녕하신가요?
아무도 보진 않지만. . 제가 작년 9월을 마지막으로 끄적임이 없더라구욧ㅎㅎ
그래서 오늘 다시 돌아왔습니닷.
우선 만약 이걸 보시게 된다면 모두 새해 복 많이 받으시고, 올해는 좋은 일만 가득하시길 바랍니다.
오늘 푼 문제는요
이거였어요!
2단계 문제인데도 불구하고, 정답률이 높아서 도전해 보았습니다.
처음에는 이중 for 문을 돌려도 보고 그냥 for 문에 배열에 i 값을 곱해서도 대입해 봤는데, 안 되더라구요!
당연한 겁니다.. 왜냐하면 문제의 조건은 이 곱들의 최솟값이니까요.
그래서 문제를 계속 보던 중 A[최솟값] * B[최댓값] 을 하고 그 다음에 A[중간값] * B[중간값] 다시 A[최댓값] * B[최솟값] 이런 식으로 하자! 라는 생각이 들었어요~
그러려면 어떻게 해야 하지? 해서.. 막 Math.max 나 Math.min 을 사용했는데 그건 아닌 것 같아서
A 배열은 오름차순 정렬, B 배열은 내림차순으로 정렬해서 그걸 곱해주었습니다. ㅎㅎ
그래서 나온 저의 코드는!
function solution(A,B){
var answer = 0;
A.sort(function(a, b) {
return a - b;
})
B.sort(function(a, b) {
return b - a;
})
for(let i=0; i<A.length; i++) {
var answer1 = A[i] * B[i]
answer += answer1
}
return answer;
}
입니다.ㅎㅎ
살짝 지저분한 느낌이.. 있네요!
그래도 이걸 풀었다는 것에 의의를 두는 걸로 하겠습니다.
모두 즐거운 코테~
'레쭈고 코테' 카테고리의 다른 글
코딩 테스트 - 54 (0) | 2025.01.06 |
---|---|
코딩 테스트 - 53 (0) | 2025.01.05 |
코딩 테스트 - 51 (2) | 2024.09.01 |
코딩 테스트 - 50 (0) | 2024.08.26 |
코딩 테스트 - 49 (0) | 2024.08.23 |