๊ธฐ๋ก๋ฐฉ

Lv.2 : ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ

Soom_1n 2023. 9. 5. 23:01

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด A์™€ B๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.
  • A์™€ B์˜ ์›์†Œ๋ฅผ ๊ฐ๊ฐ ํ•˜๋‚˜์”ฉ ๊ณฑํ•œ ํ›„ ๋ˆ„์ ํ•œ ๊ฐ’์˜ ์ตœ์†Œ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ์›์†Œ๊ณฑ์˜ ๋ˆ„์ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋ ค๋ฉด, ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜์™€ ๊ณฑํ•ด์•ผ ํ•œ๋‹ค.
    • ๊ทธ๋ฆฌ๋””์ ์ธ ๊ด€์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • A์™€ B๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • ์•„์ง ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์›์†Œ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ์ˆ˜์™€ ๋ฐ˜๋Œ€ํŽธ์˜ ๋ฐฐ์—ด์˜ ๊ฐ€์žฅ ์ž‘์€์ˆ˜๋ฅผ ๊ณฑํ•ด ๋ˆ„์ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Arrays;

class Solution
{
    public int solution(int []A, int []B)
    {
        int answer = 0;
        
        Arrays.sort(A);
        Arrays.sort(B);
        
        int aa = 0;
        int ab = A.length - 1;
        int ba = 0;
        int bb = ab;

        while(aa <= ab) {
            if(A[ab] > B[bb]) {
                answer += A[ab--]*B[ba++];
            } else {
                answer += A[aa++]*B[bb--];
            }
        }

        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด A์™€ B๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • ๊ฐ ๋ฐฐ์—ด์˜ ์ตœ์†Œ๊ฐ’ ์ธ๋ฑ์Šค์™€ ์ตœ๋Œ€๊ฐ’ ์ธ๋ฑ์Šค๋ฅผ ๋‚˜ํƒ€๋‚ผ ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
  • ํฌ์ธํ„ฐ ๋ณ€์ˆ˜๊ฐ€ ๊ต์ฐจ ํ•  ๋•Œ๊นŒ์ง€ ๊ณ„์‚ฐ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
    • A๋ฐฐ์—ด์˜ ์ตœ๋Œ€๊ฐ’๊ณผ B๋ฐฐ์—ด์˜ ์ตœ๋Œ€๊ฐ’ ์ค‘ ํฐ ๊ฐ’๊ณผ ๊ทธ ๋ฐ˜๋Œ€ ๋ฐฐ์—ด์˜ ์ตœ์†Œ๊ฐ’์„ ๊ณฑํ•ด ๋ˆ„์ ํ•œ๋‹ค.
    • ๊ณ„์‚ฐ์— ์‚ฌ์šฉ ๋œ ์›์†Œ๋ฅผ ๋นผ๊ธฐ ์œ„ํ•ด์„œ ์ธ๋ฑ์Šค๋ฅผ ์ด๋™์‹œํ‚จ๋‹ค.
  • answer๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๊ทธ๋ฆฌ๋””์ ์ธ ๊ด€์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์ดํ–ˆ๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ํšจ์œจ ์ข‹๊ฒŒ ์ž˜ ํ’€์ดํ•œ ๊ฒƒ ๊ฐ™๋‹ค.
  • ์ž˜ ํ’€์–ด๋‚ธ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋„ ๋น„์Šท ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

728x90