๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”ฅ PS(Problem Solving) ๐Ÿ”ฅ/programmers

[programmers] ์ •๋ ฌ, ๊ฐ€์žฅ ํฐ ์ˆ˜

by dar0m! 2020. 7. 16.
 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ€์žฅ ํฐ ์ˆ˜

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ ๏ฟฝ๏ฟฝ

programmers.co.kr

 

๋ฌธ์ œ

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ •์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด ์ฃผ์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์ด์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜๋Š” 6210์ž…๋‹ˆ๋‹ค.

0 ๋˜๋Š” ์–‘์˜ ์ •์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ˆœ์„œ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • numbers์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • numbers์˜ ์›์†Œ๋Š” 0 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ์ •๋‹ต์ด ๋„ˆ๋ฌด ํด ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด return ํ•ฉ๋‹ˆ๋‹ค.

 

ํ•ด๊ฒฐ

key point, numbers์˜ ์›์†Œ ๊ธธ์ด๋ฅผ ๋งž์ถฐ ์ •๋ ฌํ•œ๋‹ค.
  1. numbers์˜ ์›์†Œ ๊ธธ์ด๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด numbers[i]๋ฅผ 3๋ฒˆ์”ฉ ๋ฐ˜๋ณตํ•œ๋‹ค.
    • numbers์˜ ์›์†Œ๋Š” 1,000 ์ดํ•˜์ด๋ฏ€๋กœ ์ตœ์†Œ 3๋ฒˆ๋งŒ ๋ฐ˜๋ณตํ•˜๋ฉด ๋จ.
    • ๋” ์ปค์ง€๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ๋Š” ์ •๋ ฌ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.
  2. ๊ธธ์ด๋ฅผ ๋งž์ถ˜ ๋ฌธ์ž์—ด๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•œ๋‹ค.
  3. 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์กฐํšŒํ•˜๋ฉฐ ์›๋ณธ numbers๋กœ answer๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.
  4. ์ „๋ถ€ "0000000"๊ณผ ๊ฐ™์€ ๋ฌธ์ž์—ด์ด ๋  ๋•Œ๋Š” 0์„ returnํ•˜๊ณ 
  5. ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” answer์„ ๋ฆฌํ„ดํ•˜๋ฉฐ ์ข…๋ฃŒํ•œ๋‹ค.

 

stoi ์˜ ํ•œ๊ณ„

if(!stoi(answer)) answer = "0"; return answer;

๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์„ ์œ„์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๊ณ  ์ œ์ถœํ–ˆ์„ ๋•Œ๋Š” 11๋ฒˆ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋งŒ ๋งž๊ณ , ๋‚˜๋จธ์ง€ ํ…Œ์ŠคํŠธ๋Š” ์ „๋ถ€ ํ‹€๋ฆฐ๊ฑฐ๋กœ ๋‚˜์™”๋‹ค.

๋ถ„๋ช… '์‹คํ–‰'์œผ๋กœ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ๋Œ๋ ธ์„ ๋•Œ๋Š” ๋งž์•„์„œ ์ œ์ถœ์„ ํ–ˆ๋Š”๋ฐ ํ‹€๋ ค์„œ ๋‹นํ™ฉ..

์•Œ๊ณ ๋ณด๋‹ˆ stoi์—๋Š” ๋ฌธ์ž์—ด๊ธธ์ด์— ์ œํ•œ์ด ์žˆ๋‹ค.

"0"์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฌธ์ž๋ฅผ 11๊ฐœ ์ด์ƒ(10๊ฐœ ์ดˆ๊ณผ) ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด์„œ๋Š” stoi๋ฅผ ํ†ตํ•ด intํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ์ฐพ์•˜๊ณ , ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์•„๋ž˜ ์ฝ”๋“œ์— ์ž‘์„ฑ๋œ ๊ฒƒ์ฒ˜๋Ÿผ answer๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๊ฐ€ 0์ธ์ง€ ํŒ๋‹จํ•ด์„œ ๋‹ต์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ”์„œ ์ •๋‹ต์„ ๋งž์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ฝ”๋“œ

๋Œ“๊ธ€