Problem ๐Ÿ’ป

์ •์ˆ˜๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ๋ฐฐ์—ด num_list๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. num_list์˜ ์›์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘์€ ๋ฐฐ์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

https://school.programmers.co.kr/learn/courses/30/lessons/120821


Approach 1 โŒ - ๋‚˜์˜ ์ดˆ๊ธฐ ์ ‘๊ทผ๋ฒ•

 1. ์š”์†Œ์˜ ์ˆœ์„œ๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค.

2. ๊ฐ ์š”์†Œ์˜ ์ˆœ์„œ๋ฅผ ๊ผด๋“ฑ๋ถ€ํ„ฐ ์ฒซ๋ฒˆ์งธ๋กœ ๋งค๊ฒจ์•ผ ํ•˜๋Š”๋ฐ ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ ๋ฌธ๋ฒ•์„ ๋ชจ๋ฅธ๋‹ค.


Approach 2 โญ• - ๋‚˜์˜ ์ ‘๊ทผ๋ฒ•์— ๋Œ€ํ•œ ์ ๊ฒ€

์˜ฌ๋ฐ”๋ฅธ ์ ‘๊ทผ๋ฒ•์ด๋ฏ€๋กœ ์ด์ œ ์ž๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋งŒ ์ตํžˆ๋ฉด ๋œ๋‹ค!


<๋ฌธ์ œ ๋ถ„์„>

1. ํ•ต์‹ฌ ์ž‘์—…

1) ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ!

2) "๊ผด๋“ฑ๋ถ€ํ„ฐ ์ฒซ ๋ฒˆ์งธ๋กœ ๋งค๊ฒจ์•ผ ํ•œ๋‹ค"๋Š” ๊ฒƒ์€ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋„ฃ๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค. 

2. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

1) ๋ฐฐ์—ด์„ ๋’ค์ง‘๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

     1)-1. ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ ๋’ค์ง‘ํžŒ ์ˆœ์„œ๋กœ ๊ฐ’์„ ๋ณต์‚ฌํ•˜๋Š” ๋ฒ•

     1)-2. ์ฃผ์–ด์ง„ ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ๋’ค์ง‘๋Š” ๋ฐฉ๋ฒ• (in-place ๋ฐฉ์‹)

 

์ด ๋ฌธ์ œ์—์„œ๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ๋‹ค.

 


<ํ•„์š”ํ•œ ์ž๋ฐ” ๊ฐœ๋…>

1. ๋ฐฐ์—ด ๊ธธ์ด ๊ตฌํ•˜๊ธฐ : 

array.length๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

2. ๋ฐ˜๋ณต๋ฌธ :

for ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์˜ ๋์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ฒซ ๋ฒˆ์งธ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

3. ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์ƒ์„ฑ : 

๋ฐฐ์—ด์€ ๊ณ ์ • ํฌ๊ธฐ์ด๋ฏ€๋กœ, ๋’ค์ง‘ํžŒ ๊ฐ’์„ ์ €์žฅํ•  ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. 


Solution ๐Ÿ’ก

1. ์ฃผ์–ด์ง„ ๋ฐฐ์—ด ๊ธธ์ด๋ฅผ ํ™•์ธํ•œ๋‹ค.

2. ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.

3. ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ถ€ํ„ฐ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๊นŒ์ง€ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๋ณต์‚ฌํ•œ๋‹ค.

4. ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜ : ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

public class Main {
  public static int[] solution(int[] num_list) {
     // 1. ๋ฐฐ์—ด ๊ธธ์ด ํ™•์ธ
     int length = num_list.length;
    
     // 2. ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์ƒ์„ฑ - ๋ฐฐ์—ด ๊ธธ์ด๋ฅผ ํ™•์ธํ•œ ๊ฐ’์ด ๋“ค์–ด๊ฐ„ 'length'๋ฅผ ๋ฐฐ์—ด ๋งŒ๋“ค๋•Œ ๊ธธ์ด ์„ค์ •์— ๋„ฃ๋Š”๋‹ค. 
     int[] reversedArray = new int[length];
  
     // 3. ๋ฐฐ์—ด์„ ๊ฑฐ๊พธ๋กœ ๋ณต์‚ฌ
     for (int i = 0; i < length; i++) {
         reversedArray[i] = num_list[length -1 -i];
     }
     // 4. ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
     return reversedArray;
  }
  
  public static void main(String[] args) {
      // ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ
      int[] num_list = {1, 2, 3, 4, 5};
      int[] result = solution(num_list);
      
      // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
      for (int num : result) {
          System.out.print(num + " ");
      }
  
  }
}

<์ฝ”๋“œ ์„ค๋ช…>

1.  solution ๋ฉ”์„œ๋“œ :

- num_list.length๋กœ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

- ์ƒˆ๋กœ์šด ๋ฐฐ์—ด reversedArray๋ฅผ ๊ฐ™์€ ํฌ๊ธฐ๋กœ ์ƒ์„ฑํ•œ๋‹ค.

- ๋ฐ˜๋ณต๋ฌธ์—์„œ i๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ, ์›๋ž˜ ๋ฐฐ์—ด์˜ (length -1 -i)๋ฒˆ์งธ ์š”์†Œ๋ฅผ reversedArray[i]์— ๋ณต์‚ฌํ•œ๋‹ค. 

2. main ๋ฉ”์„œ๋“œ :

1 ) main ๋ฉ”์„œ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘์ ์ด๋‹ค. ์ปดํ“จํ„ฐ๋Š” ํ•ญ์ƒ main ๋ฉ”์„œ๋“œ๋ถ€ํ„ฐ ์ฝ๊ณ  ์‹คํ–‰ํ•œ๋‹ค.

2)  main ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ์šฐ๋ฆฌ๋Š” solution ๋ฉ”์„œ๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

     (solution ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘๋Š” ์—ญํ• ์„ ์šฐ๋ฆฌ๋Š” ๋งŒ๋“ค์—ˆ์—ˆ๋‹ค.)


                                                                    < solution ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฒ•์„ ๋ฐฐ์›Œ๋ณผ๊นŒ?  >

 

์ฝ”๋“œ ๋ถ€๋ถ„:

int[] result = solution(num_list);

 1. solution(num_list) :

    ์ด ๋ถ€๋ถ„์€ solution์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ž‘์—…์ด๋‹ค.

    num_list๋ผ๋Š” ๋ฐฐ์—ด์„ solution ๋ฉ”์„œ๋“œ์— "์—ฌ๊ธฐ ์ด๊ฑธ ์ฒ˜๋ฆฌํ•ด์ค˜"ํ•˜๊ณ  ๊ฑด๋„ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. 

    num_list๋ผ๋Š” ๋ฐฐ์—ด์„ ์ค„ ํ…Œ๋‹ˆ, solution ๋„ˆ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋™์ž‘์„ ์ด ๋ฐฐ์—ด์— ์ ์šฉํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด ๋†”! 

 

2. int[] result = :

    solution ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์„ ๋’ค์ง‘์€ ๊ฒฐ๊ณผ ๋ฐฐ์—ด์„ ๋Œ๋ ค์ค€๋‹ค.

   ๊ทธ ๋Œ๋ ค๋ฐ›์€ ๋ฐฐ์—ด์„ result๋ผ๋Š” ๋ฐฐ์—ด์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์—ฌ๊ธฐ ๋„ˆ๊ฐ€ ์ค€ ๋ฐฐ์—ด(num_list)์„ ๊ฑฐ๊พธ๋กœ ๋งŒ๋“  ๋ฐฐ์—ด์„ result๋ผ๋Š” ๋ฐฐ์—ด ์ƒ์ž์— ๋„ฃ์–ด๋‘˜๊ฒŒ. ๋ฐ›์•„!
 

3. ์—ฐ๊ฒฐ๋˜๋Š” ์›๋ฆฌ :

    solution ๋ฉ”์„œ๋“œ๋Š” ๋ณ„๋„๋กœ ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด ์žˆ๋‹ค. 

    main ๋ฉ”์„œ๋“œ์—์„œ ํ˜ธ์ถœํ•˜๋ฉด, solutio์ด ์ผ์„ ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋Œ๋ ค์ค€๋‹ค. 


3) solution ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ๊ณ„์‚ฐํ•ด์„œ main ๋ฉ”์„œ๋“œ๋กœ ๋Œ๋ ค์ค€๋‹ค. 

4) main ๋ฉ”์„œ๋“œ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ(for๋ฌธ ์‚ฌ์šฉ)ํ•œ๋‹ค. 


< for (int num : result)์˜ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณผ๊นŒ? >

for (int num : result) {
    System.out.print(num + " ");
}

   1. for์˜ ์—ญํ•  :

       - result ๋ฐฐ์—ด์˜ ๋ชจ๋“  ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค. 

 

2. int num :

    - num์€ ๋ฐฐ์—ด์˜ ํ˜„์žฌ ๊บผ๋‚ธ ์ˆซ์ž๋ฅผ ๋‹ด๋Š” ์ž‘์€ ์ƒ์ž๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. 

 

3. :์˜ ์˜๋ฏธ :

     - :์€ ๋ฐฐ์—ด์—์„œ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ธ๋‹ค๋Š” ๋œป์ด๋‹ค.

 


 


<์˜ˆ์‹œ ์‹คํ–‰>

int[] num_list = {1, 2, 3, 4, 5};

 

<์ถœ๋ ฅ>

5 4 3 2 1

 

 


< ๋ฐฐ์—ด์˜ ๊ธธ์ด ์„ธ๋Š” ๋ฒ•์„ ์•Œ์•„๋ณผ๊นŒ? >

๋ฐฐ์—ด์ด๋ž€?

๋จผ์ €, ๋ฐฐ์—ด์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜๋Š” ์ƒ์ž๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๋ฐฐ์—ด์˜ ๊ฐ ์ƒ์ž๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฒˆํ˜ธ(์ธ๋ฑ์Šค)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋ฐฐ์—ด: [1, 2, 3, 4, 5]
์ธ๋ฑ์Šค:  0   1   2   3   4

 

์ˆœ์„œ๋ฅผ ๋’ค์ง‘๋Š” ์›๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š” ๊ฑฐ์ง€?

์›๋ž˜ ๋ฐฐ์—ด: [1, 2, 3, 4, 5]
์ธ๋ฑ์Šค:       0   1   2   3   4

๋’ค์ง‘ํžŒ ๋ฐฐ์—ด: [5, 4, 3, 2, 1]
์ธ๋ฑ์Šค:       0   1   2   3   4
์ด ๊ฐฏ์ˆ˜๋ณด๋‹ค ํ•ญ์ƒ -1์ด ์ธ๋ฑ์Šค์˜ ๋งˆ์ง€๋ง‰ ์ˆœ์„œ

์ด ๊ฐฏ์ˆ˜(length)์™€ ์ธ๋ฑ์Šค์˜ ๋งจ ๋งˆ์ง€๋ง‰ ์ˆœ๋ฒˆ์„ ๊ตฌ๋ถ„ํ•˜๋ฉด ๋œ๋‹ค. 

(length -1 -i)์˜ ๋œป

์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฑด ๋งจ ๋งˆ์ง€๋ง‰๋ถ€ํ„ฐ ์ฒซ ๋ฒˆ์งธ๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ์ธ๋ฐ, ๊ทธ๊ฑธ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ (length -1 -i) ์ด๋‹ค.

1) length -1 :

๋ฐฐ์—ด์—์„œ ๋งจ ๋งˆ์ง€๋ง‰ ์ƒ์ž์˜ ๋ฒˆํ˜ธ(์ธ๋ฑ์Šค)๋ฅผ ์ฐพ๋Š” ๊ณต์‹์ด๋‹ค.

(์ด ๊ฐฏ์ˆ˜์˜ -1์€ ํ•ญ์ƒ ์ธ๋ฑ์Šค์˜ ๋งˆ์ง€๋ง‰ ์ˆœ์„œ์ด๋‹ˆ๊น!)

 

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 5๋ผ๋ฉด, ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋Š” 5-1 = 4์ด๋‹ค. (์™œ? ์ธ๋ฑ์Šค๋Š” ํ•ญ์ƒ 0๋ถ€ํ„ฐ ์„ธ๋‹ˆ๊น 1๋ถ€ํ„ฐ ์„ธ๋Š” ์ด ๊ฐฏ์ˆ˜๋ณด๋‹ค ํ•ญ์ƒ -1๋งŒํผ ์ ๋‹ค.)

 

2) i 

๋ฐ˜๋ณต๋ฌธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž์ด๋‹ค. ๋ฐ˜๋ณต๋ฌธ์€ ์ฒ˜์Œ์—๋Š” 0, ๊ทธ ๋‹ค์Œ 1, 2 ... ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์”ฉ ์ปค์ง„๋‹ค.

์ฆ‰, ์•ž์—์„œ๋ถ€ํ„ฐ ๋ช‡ ๋ฒˆ์งธ ์ƒ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆซ์ž์ด๋‹ค.

 

3) length -1 -i

๋งˆ์ง€๋ง‰ ์ƒ์ž์—์„œ๋ถ€ํ„ฐ i๋ฒˆ์งธ ์ƒ์ž๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, i๊ฐ€ 0์ด๋ฉด length - 1 -0 = 4, ์ฆ‰, ๋งจ ๋งˆ์ง€๋ง‰ ์ƒ์ž๋ฅผ ๋œปํ•œ๋‹ค. 

i๊ฐ€ 1์ด๋ฉด length -1 -1 = 3, ์ฆ‰ ๋์—์„œ ๋‘ ๋ฒˆ์งธ ์ƒ์ž๋ฅผ ๋œปํ•œ๋‹ค. 

 

์•„ํ•˜! length๋Š” 1๋ถ€ํ„ฐ ์„ธ๋Š” ์ด ๊ฐฏ์ˆ˜์ด๋‹ˆ๊น

์ธ๋ฑ์Šค๋กœ ๋ณ€ํ™˜ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” -1์„ ํ•ด์•ผ๋งŒ ํ•˜๊ณ 
i๋Š” ์ธ๋ฑ์Šค๋ฅผ 0๋ถ€ํ„ฐ ์„ธ๋Š” ์ˆ˜๋‹ˆ๊น
length -1 -i ๋Š” i๊ฐ€ 0๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ ํ•  ์ˆ˜๋ก
๊ฒฐ๊ณผ์ ์œผ๋กœ, ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋„๋ก ๋งŒ๋“œ๋Š”๊ตฌ๋‚˜.



<์˜ค๋‹ต๋…ธํŠธ>

๋‚˜์˜ ํ‹€๋ฆฐ ์ฝ”๋“œ

class Solution {
    public int[] solution(int[] num_list) {
                        int length = length.num_list;
                        int [] reversed = int [length];
                        for (i = 0; i < reversed.length < i++) {
                             reversed[i] = num_list[length-1-i];
                             return reversed;
                        }
    
      }
    
    }

 

ํ‹€๋ฆฐ์  ๋ฐ”๋กœ ์žก๊ธฐ

1. ๋ฐฐ์—ด์˜ ๊ธธ์ด ํฌ๊ธฐ๋ฅผ ์žก๋Š” ๋ฌธ๋ฒ•์€ num_list.length์ด๋‹ค. (๋‚˜๋Š” length.num_list๋ผ๊ณ  ํ•˜์—ฌ ํ‹€๋ ธ๋‹ค.)

2. ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” = ์˜ค๋ฅธ์ชฝ์— 'new'๋ฅผ ๋ถ™์—ฌ์ค˜์•ผ ํ•œ๋‹ค. (๋‚˜๋Š” new๋ฅผ ๋นผ๋†“๊ณ  ์ ์—ˆ๋‹ค.)

3. for ๋ฌธ์—์„œ ์ž˜๋ชป๋œ ์  :

    3-1) i ๊ฐ€ '์ •์ˆ˜'ํ˜•์ž„์„ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค. (i = 0์ด๋ผ๊ณ ๋งŒ ํ•ด์„œ ํ‹€๋ ธ๋‹ค. int i = 0 ์ด ์˜ณ๋‹ค.)

    3-2) i ๊ฐ€ ์–ด๋””๊นŒ์ง€ ์ง„ํ–‰ ๋ ์ง€ ์ œํ•œ์„ ๋‘๋Š” ๋ถ€๋“ฑํ˜ธ์—์„œ ๊ตณ์ด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋กœ ์ œํ•œํ•  ํ•„์š”์—†๋‹ค.

             i < length ๋กœ ์„ ์–ธํ•œ๋‹ค. length๋Š” ์•ž์— intํ˜•์œผ๋กœ ๊ธฐ์กด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ์˜ ์ˆ˜๋กœ ์„ค์ •ํ•ด ๋‘์—ˆ๋‹ค.

    3-3) ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜์€ for๋ฌธ์˜ { }์•ˆ์— ๋‘๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ for๋ฌธ ๋ฐ”๊นฅ์—๋‹ค ๋‘์–ด์•ผ ํ•œ๋‹ค.

 

ํ‹€๋ฆฌ์ง€ ์•Š์•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ๋„ ๋„ฃ์ž.

 

<์˜ณ์€ ์ฝ”๋“œ>

public class Main {
    public static int[] solution(int[] num_list) {
    
        //1.๋’ค์ง‘์€ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ์กด ๋ฐฐ์—ด๊ณผ ๋˜‘๊ฐ™์ด ์„ค์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ 
        //  '๋ฐฐ์—ดํฌ๊ธฐ ํ™•์ธ'
        int length = num_list.length;
        
        //2. ๋’ค์ง‘์€ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๋„ฃ์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์ž.(์˜ค๋ฅธ์ชฝ์— new ๋„ฃ๋Š”๊ฑฐ ๊นœ๋นกํ•˜์ง€ ๋ง๊ธฐ!)
        //   ๋งŒ๋“ค๋•Œ๋Š” ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ์ข€ ์ „์— ํฌ๊ธฐ๋ฅผ ๋ณ€์ˆ˜ ์„ ์–ธํ•œ๊ฒƒ์„ ํ™œ์šฉํ•˜์—ฌ ์„ค์ •ํ•œ๋‹ค.
        int [] reversed = new int[length];
        
        //3. for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ๊ธฐ์กด์˜ ๋ฐฐ์—ด์˜ i๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ length-1-i์— ๋„ฃ์ž.
        // ์ƒˆ๋กœ์šด i๋ผ๋Š” ์ •์ˆ˜ํ˜•์„ ์„ ์–ธํ• ๋•Œ int ๋นผ๋จน์ง€ ๋ง๊ณ , ๋„ˆ๊ฐ€ ๋งŒ๋“  length๋ผ๋Š”๊ฑธ ํ™œ์šฉํ•˜๊ธฐ๋„ ํ•˜์ž.
        // return๊ฐ’์€ for{}๋ฐ–์œผ๋กœ.
        for (int i = 0; i < length; i++) {
           reversed[i] = num_list[length-1-i];
        }
        return reversed;
    }
    public static void main(String[] args) {
        //1.๋ฐฐ์—ด ์ค€๋น„
        int[] num_list = {1,2,3,4,5};
        // 2. solution ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์„œ ๋ฐฐ์—ด์„ ๋’ค์ง‘์Œ
        int[] result = solution(num_list);
        // 3. ๊ฒฐ๊ณผ ๋ฐฐ์—ด์„ ์ถœ๋ ฅ
        for (int num : result) {
            System.out.print(num + " ");
        }

}
}

+ Recent posts