레쭈고 코테

코딩 테스트 - 52

정땅미 2025. 1. 3. 19:03

다들 안녕하신가요?

아무도 보진 않지만. . 제가 작년 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