[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1. ํ‘ธ๋“œ ํŒŒ์ดํŠธ ๋Œ€ํšŒ

2023. 2. 21. 13:19ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2023

728x90

๋ฌธ์ œ ์„ค๋ช…

์ˆ˜์›…์ด๋Š” ๋งค๋‹ฌ ์ฃผ์–ด์ง„ ์Œ์‹์„ ๋นจ๋ฆฌ ๋จน๋Š” ํ‘ธ๋“œ ํŒŒ์ดํŠธ ๋Œ€ํšŒ๋ฅผ ๊ฐœ์ตœํ•ฉ๋‹ˆ๋‹ค. ์ด ๋Œ€ํšŒ์—์„œ ์„ ์ˆ˜๋“ค์€ 1๋Œ€ 1๋กœ ๋Œ€๊ฒฐํ•˜๋ฉฐ, ๋งค ๋Œ€๊ฒฐ๋งˆ๋‹ค ์Œ์‹์˜ ์ข…๋ฅ˜์™€ ์–‘์ด ๋ฐ”๋€๋‹ˆ๋‹ค. ๋Œ€๊ฒฐ์€ ์ค€๋น„๋œ ์Œ์‹๋“ค์„ ์ผ๋ ฌ๋กœ ๋ฐฐ์น˜ํ•œ ๋’ค, ํ•œ ์„ ์ˆ˜๋Š” ์ œ์ผ ์™ผ์ชฝ์— ์žˆ๋Š” ์Œ์‹๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ, ๋‹ค๋ฅธ ์„ ์ˆ˜๋Š” ์ œ์ผ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ์Œ์‹๋ถ€ํ„ฐ ์™ผ์ชฝ์œผ๋กœ ์ˆœ์„œ๋Œ€๋กœ ๋จน๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ค‘์•™์—๋Š” ๋ฌผ์„ ๋ฐฐ์น˜ํ•˜๊ณ , ๋ฌผ์„ ๋จผ์ € ๋จน๋Š” ์„ ์ˆ˜๊ฐ€ ์Šน๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋•Œ, ๋Œ€ํšŒ์˜ ๊ณต์ •์„ฑ์„ ์œ„ํ•ด ๋‘ ์„ ์ˆ˜๊ฐ€ ๋จน๋Š” ์Œ์‹์˜ ์ข…๋ฅ˜์™€ ์–‘์ด ๊ฐ™์•„์•ผ ํ•˜๋ฉฐ, ์Œ์‹์„ ๋จน๋Š” ์ˆœ์„œ๋„ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ด๋ฒˆ ๋Œ€ํšŒ๋ถ€ํ„ฐ๋Š” ์นผ๋กœ๋ฆฌ๊ฐ€ ๋‚ฎ์€ ์Œ์‹์„ ๋จผ์ € ๋จน์„ ์ˆ˜ ์žˆ๊ฒŒ ๋ฐฐ์น˜ํ•˜์—ฌ ์„ ์ˆ˜๋“ค์ด ์Œ์‹์„ ๋” ์ž˜ ๋จน์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋Œ€ํšŒ๋ฅผ ์œ„ํ•ด ์ˆ˜์›…์ด๋Š” ์Œ์‹์„ ์ฃผ๋ฌธํ–ˆ๋Š”๋ฐ, ๋Œ€ํšŒ์˜ ์กฐ๊ฑด์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์Œ์‹์„ ์ฃผ๋ฌธํ•˜์—ฌ ๋ช‡ ๊ฐœ์˜ ์Œ์‹์€ ๋Œ€ํšŒ์— ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, 3๊ฐ€์ง€์˜ ์Œ์‹์ด ์ค€๋น„๋˜์–ด ์žˆ์œผ๋ฉฐ, ์นผ๋กœ๋ฆฌ๊ฐ€ ์ ์€ ์ˆœ์„œ๋Œ€๋กœ 1๋ฒˆ ์Œ์‹์„ 3๊ฐœ, 2๋ฒˆ ์Œ์‹์„ 4๊ฐœ, 3๋ฒˆ ์Œ์‹์„ 6๊ฐœ ์ค€๋น„ํ–ˆ์œผ๋ฉฐ, ๋ฌผ์„ ํŽธ์˜์ƒ 0๋ฒˆ ์Œ์‹์ด๋ผ๊ณ  ์นญํ•œ๋‹ค๋ฉด, ๋‘ ์„ ์ˆ˜๋Š” 1๋ฒˆ ์Œ์‹ 1๊ฐœ, 2๋ฒˆ ์Œ์‹ 2๊ฐœ, 3๋ฒˆ ์Œ์‹ 3๊ฐœ์”ฉ์„ ๋จน๊ฒŒ ๋˜๋ฏ€๋กœ ์Œ์‹์˜ ๋ฐฐ์น˜๋Š” "1223330333221"์ด ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1๋ฒˆ ์Œ์‹ 1๊ฐœ๋Š” ๋Œ€ํšŒ์— ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์›…์ด๊ฐ€ ์ค€๋น„ํ•œ ์Œ์‹์˜ ์–‘์„ ์นผ๋กœ๋ฆฌ๊ฐ€ ์ ์€ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด food๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋Œ€ํšŒ๋ฅผ ์œ„ํ•œ ์Œ์‹์˜ ๋ฐฐ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.


์ œํ•œ์‚ฌํ•ญ
  • 2 ≤ food์˜ ๊ธธ์ด ≤ 9
  • 1 ≤ food์˜ ๊ฐ ์›์†Œ ≤ 1,000
  • food์—๋Š” ์นผ๋กœ๋ฆฌ๊ฐ€ ์ ์€ ์ˆœ์„œ๋Œ€๋กœ ์Œ์‹์˜ ์–‘์ด ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค.
  • food[i]๋Š” i๋ฒˆ ์Œ์‹์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • food[0]์€ ์ˆ˜์›…์ด๊ฐ€ ์ค€๋น„ํ•œ ๋ฌผ์˜ ์–‘์ด๋ฉฐ, ํ•ญ์ƒ 1์ž…๋‹ˆ๋‹ค.
  • ์ •๋‹ต์˜ ๊ธธ์ด๊ฐ€ 3 ์ด์ƒ์ธ ๊ฒฝ์šฐ๋งŒ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

 

์ž…์ถœ๋ ฅ ์˜ˆ
food                                                                   result
[1, 3, 4, 6] "1223330333221"
[1, 7, 1, 2] "111303111"

 
์ž…์ถœ๋ ฅ ์˜ˆ
์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ๋‘ ์„ ์ˆ˜๋Š” 1๋ฒˆ ์Œ์‹ 3๊ฐœ, 3๋ฒˆ ์Œ์‹ 1๊ฐœ๋ฅผ ๋จน๊ฒŒ ๋˜๋ฏ€๋กœ ์Œ์‹์˜ ๋ฐฐ์น˜๋Š” "111303111"์ž…๋‹ˆ๋‹ค.

 

 

 

๋‚˜์˜ ํ’€์ด

public String solution(int[] food) {
   StringBuffer sb = new StringBuffer();
   
   for (int i = 1; i < food.length; i++)
   {
      if (food[i] % 2 == 1)
      {
         food[i] -= 1;
      }
      
      for (int j = food[i] / 2; j > 0; j--)
      {
         sb.append(i);
      }
   }
   
   String answer = sb.toString();
   answer += "0";
   
   StringBuffer reverse = sb.reverse();
   answer += reverse;
   
   return answer;
}

ํ•œ ์‚ฌ๋žŒ์˜ ์Œ์‹ ๋ฐฐ์น˜๋ฅผ ๊ตฌํ•˜๋ฉด, ์ƒ๋Œ€๋Š” ๋ฐ˜๋Œ€๋กœ ๋Œ๋ฆฌ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋จผ์ € ํ•œ ์‚ฌ๋žŒ์˜ ์Œ์‹ ๋ฐฐ์น˜๋ฅผ ๊ตฌํ–ˆ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ๋ฌผ์€ ๋ฌด์กฐ๊ฑด 1๊ฐœ๋ผ๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ์‚ฌ๋žŒ์˜ ์Œ์‹ ๋ฐฐ์น˜๋ฅผ ๊ตฌํ•˜๊ณ  0์„ ๋”ํ•ด์ฃผ๊ณ , StringBuffer์˜ reverse๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐ’์„ ๊ตฌํ•ด์คฌ๋‹ค. 

 

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด

public String otherSolution(int[] food)
{
   String answer = "0";
   
   for (int i = food.length - 1; i > 0; i--)
   {
      for (int j = 0; j < food[i] / 2; j++)
      {
         answer = i + answer + i;
      }
      
   }
   
   return answer;
}

์™€..! ์ด๋ ‡๊ฒŒ ๊น”๋”ํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋‘๊ณ  ๋‚œ ๋ญํ•œ ๊ฒƒ์ธ๊ฐ€..ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹

answer์˜ ์–‘์˜†์œผ๋กœ i ๋ฅผ ๋‘๊ณ  ๊ณ„์† ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค..!! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90