๐Ÿงก๋ฌธ์ œ ์„ค๋ช…

์นด์นด์˜คTV์—์„œ ์œ ๋ช…ํ•œ ํฌ๋ฆฌ์—์ดํ„ฐ๋กœ ํ™œ๋™ ์ค‘์ธ ์ฃ ๋ฅด๋””๋Š” ํ™˜๊ฒฝ ๋‹จ์ฒด๋กœ๋ถ€ํ„ฐ ์ž์‹ ์˜ ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ๋™์˜์ƒ์— ์ง€๊ตฌ์˜จ๋‚œํ™”์˜ ์‹ฌ๊ฐ์„ฑ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ณต์ต๊ด‘๊ณ ๋ฅผ ๋„ฃ์–ด ๋‹ฌ๋ผ๋Š” ์š”์ฒญ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ํ‰์†Œ์— ํ™˜๊ฒฝ ๋ฌธ์ œ์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ "์ฃ ๋ฅด๋””"๋Š” ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์˜€๊ณ  ๊ด‘๊ณ ํšจ๊ณผ๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‹œ์ฒญ์ž๋“ค์ด ๊ฐ€์žฅ ๋งŽ์ด ๋ณด๋Š” ๊ตฌ๊ฐ„์— ๊ณต์ต๊ด‘๊ณ ๋ฅผ ๋„ฃ์œผ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. "์ฃ ๋ฅด๋””"๋Š” ์‹œ์ฒญ์ž๋“ค์ด ํ•ด๋‹น ๋™์˜์ƒ์˜ ์–ด๋–ค ๊ตฌ๊ฐ„์„ ์žฌ์ƒํ–ˆ๋Š” ์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ์žฌ์ƒ๊ตฌ๊ฐ„ ๊ธฐ๋ก์„ ๊ตฌํ–ˆ๊ณ , ํ•ด๋‹น ๊ธฐ๋ก์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต์ต๊ด‘๊ณ ๊ฐ€ ์‚ฝ์ž…๋  ์ตœ์ ์˜ ์œ„์น˜๋ฅผ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์ฐธ๊ณ ๋กœ ๊ด‘๊ณ ๋Š” ์žฌ์ƒ ์ค‘์ธ ๋™์˜์ƒ์˜ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜์—์„œ ์›๋ž˜ ์˜์ƒ๊ณผ ๋™์‹œ์— ์žฌ์ƒ๋˜๋Š” PIP(Picture in Picture) ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ "์ฃ ๋ฅด๋””"๊ฐ€ ๊ณต์ต๊ด‘๊ณ ๊ฐ€ ์‚ฝ์ž…๋  ์ตœ์ ์˜ ์œ„์น˜๋ฅผ ๊ณ ๋ฅด๋Š” ๊ณผ์ •์„ ๊ทธ๋ฆผ์œผ๋กœ ์„ค๋ช…ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๊ทธ๋ฆผ์˜ ํŒŒ๋ž€์ƒ‰ ์„ ์€ ๊ด‘๊ณ ๋ฅผ ๊ฒ€ํ†  ์ค‘์ธ "์ฃ ๋ฅด๋””" ๋™์˜์ƒ์˜ ์ „์ฒด ์žฌ์ƒ ๊ตฌ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • ์œ„ ๊ทธ๋ฆผ์—์„œ, "์ฃ ๋ฅด๋””" ๋™์˜์ƒ์˜ ์ด ์žฌ์ƒ์‹œ๊ฐ„์€ 02์‹œ๊ฐ„ 03๋ถ„ 55์ดˆ ์ž…๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆผ์˜ ๊ฒ€์€์ƒ‰ ์„ ๋“ค์€ ๊ฐ ์‹œ์ฒญ์ž๋“ค์ด "์ฃ ๋ฅด๋””"์˜ ๋™์˜์ƒ์„ ์žฌ์ƒํ•œ ๊ตฌ๊ฐ„์˜ ์œ„์น˜๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฒ€์€์ƒ‰ ์„ ์˜ ๊ฐ€์šด๋ฐ ์ˆซ์ž๋Š” ๊ฐ ์žฌ์ƒ ๊ธฐ๋ก์„ ๊ตฌ๋ถ„ํ•˜๋Š” ID๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • ๊ฒ€์€์ƒ‰ ์„ ์— ํ‘œ๊ธฐ๋œ ์™ผ์ชฝ ๋ ์ˆซ์ž์™€ ์˜ค๋ฅธ์ชฝ ๋ ์ˆซ์ž๋Š” ์‹œ์ฒญ์ž๋“ค์ด ์žฌ์ƒํ•œ ๋™์˜์ƒ ๊ตฌ๊ฐ„์˜ ์‹œ์ž‘ ์‹œ๊ฐ๊ณผ ์ข…๋ฃŒ ์‹œ๊ฐ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • ์œ„ ๊ทธ๋ฆผ์—์„œ, 3๋ฒˆ ์žฌ์ƒ ๊ธฐ๋ก์€ 00์‹œ 25๋ถ„ 50์ดˆ ๋ถ€ํ„ฐ 00์‹œ 48๋ถ„ 29์ดˆ ๊นŒ์ง€ ์ด 00์‹œ๊ฐ„ 22๋ถ„ 39์ดˆ ๋™์•ˆ ์ฃ ๋ฅด๋””์˜ ๋™์˜์ƒ์„ ์žฌ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.ยน
    • ์œ„ ๊ทธ๋ฆผ์—์„œ, 1๋ฒˆ ์žฌ์ƒ ๊ธฐ๋ก์€ 01์‹œ 20๋ถ„ 15์ดˆ ๋ถ€ํ„ฐ 01์‹œ 45๋ถ„ 14์ดˆ ๊นŒ์ง€ ์ด 00์‹œ๊ฐ„ 24๋ถ„ 59์ดˆ ๋™์•ˆ ์ฃ ๋ฅด๋””์˜ ๋™์˜์ƒ์„ ์žฌ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆผ์˜ ๋นจ๊ฐ„์ƒ‰ ์„ ์€ "์ฃ ๋ฅด๋””"๊ฐ€ ์„ ํƒํ•œ ์ตœ์ ์˜ ๊ณต์ต๊ด‘๊ณ  ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • ๋งŒ์•ฝ ๊ณต์ต๊ด‘๊ณ ์˜ ์žฌ์ƒ์‹œ๊ฐ„์ด 00์‹œ๊ฐ„ 14๋ถ„ 15์ดˆ๋ผ๋ฉด, ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ 01์‹œ 30๋ถ„ 59์ดˆ ๋ถ€ํ„ฐ 01์‹œ 45๋ถ„ 14์ดˆ ๊นŒ์ง€ ๊ณต์ต๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ๊ตฌ๊ฐ„์„ ์‹œ์ฒญํ•œ ์‹œ์ฒญ์ž๋“ค์˜ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ํฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
    • 01์‹œ 30๋ถ„ 59์ดˆ ๋ถ€ํ„ฐ 01์‹œ 45๋ถ„ 14์ดˆ ๊นŒ์ง€์˜ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.
      • 01์‹œ 30๋ถ„ 59์ดˆ ๋ถ€ํ„ฐ 01์‹œ 37๋ถ„ 44์ดˆ ๊นŒ์ง€ : 4๋ฒˆ, 1๋ฒˆ ์žฌ์ƒ ๊ธฐ๋ก์ด ๋‘์ฐจ๋ก€ ์žˆ์œผ๋ฏ€๋กœ ์žฌ์ƒ์‹œ๊ฐ„์˜ ํ•ฉ์€ 00์‹œ๊ฐ„ 06๋ถ„ 45์ดˆ X 2 = 00์‹œ๊ฐ„ 13๋ถ„ 30์ดˆ
      • 01์‹œ 37๋ถ„ 44์ดˆ ๋ถ€ํ„ฐ 01์‹œ 45๋ถ„ 14์ดˆ ๊นŒ์ง€ : 4๋ฒˆ, 1๋ฒˆ, 5๋ฒˆ ์žฌ์ƒ ๊ธฐ๋ก์ด ์„ธ์ฐจ๋ก€ ์žˆ์œผ๋ฏ€๋กœ ์žฌ์ƒ์‹œ๊ฐ„์˜ ํ•ฉ์€ 00์‹œ๊ฐ„ 07๋ถ„ 30์ดˆ X 3 = 00์‹œ๊ฐ„ 22๋ถ„ 30์ดˆ
      • ๋”ฐ๋ผ์„œ, ์ด ๊ตฌ๊ฐ„ ์‹œ์ฒญ์ž๋“ค์˜ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ 00์‹œ๊ฐ„ 13๋ถ„ 30์ดˆ + 00์‹œ๊ฐ„ 22๋ถ„ 30์ดˆ = 00์‹œ๊ฐ„ 36๋ถ„ 00์ดˆ์ž…๋‹ˆ๋‹ค.

๐Ÿ’›๋ฌธ์ œ

"์ฃ ๋ฅด๋””"์˜ ๋™์˜์ƒ ์žฌ์ƒ์‹œ๊ฐ„ ๊ธธ์ด play_time, ๊ณต์ต๊ด‘๊ณ ์˜ ์žฌ์ƒ์‹œ๊ฐ„ ๊ธธ์ด adv_time, ์‹œ์ฒญ์ž๋“ค์ด ํ•ด๋‹น ๋™์˜์ƒ์„ ์žฌ์ƒํ–ˆ๋˜ ๊ตฌ๊ฐ„ ์ •๋ณด logs๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์‹œ์ฒญ์ž๋“ค์˜ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” ๊ณณ์— ๊ณต์ต๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ๊ณต์ต๊ด‘๊ณ ๊ฐ€ ๋“ค์–ด๊ฐˆ ์‹œ์ž‘ ์‹œ๊ฐ์„ ๊ตฌํ•ด์„œ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ๋งŒ์•ฝ, ์‹œ์ฒญ์ž๋“ค์˜ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋งŽ์€ ๊ณณ์ด ์—ฌ๋Ÿฌ ๊ณณ์ด๋ผ๋ฉด, ๊ทธ ์ค‘์—์„œ ๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ์ž‘ ์‹œ๊ฐ์„ return ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ’š์ œํ•œ์‚ฌํ•ญ

  • play_time, adv_time์€ ๊ธธ์ด 8๋กœ ๊ณ ์ •๋œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

    • play_time, adv_time์€ HH:MM:SS ํ˜•์‹์ด๋ฉฐ, 00:00:01 ์ด์ƒ 99:59:59 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • ์ฆ‰, ๋™์˜์ƒ ์žฌ์ƒ์‹œ๊ฐ„๊ณผ ๊ณต์ต๊ด‘๊ณ  ์žฌ์ƒ์‹œ๊ฐ„์€ 00์‹œ๊ฐ„ 00๋ถ„ 01์ดˆ ์ด์ƒ 99์‹œ๊ฐ„ 59๋ถ„ 59์ดˆ ์ดํ•˜์ž…๋‹ˆ๋‹ค.
    • ๊ณต์ต๊ด‘๊ณ  ์žฌ์ƒ์‹œ๊ฐ„์€ ๋™์˜์ƒ ์žฌ์ƒ์‹œ๊ฐ„๋ณด๋‹ค ์งง๊ฑฐ๋‚˜ ๊ฐ™๊ฒŒ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
  • logs๋Š” ํฌ๊ธฐ๊ฐ€ 1 ์ด์ƒ 300,000 ์ดํ•˜์ธ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

    • logs ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ๋Š” ์‹œ์ฒญ์ž์˜ ์žฌ์ƒ ๊ตฌ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    • logs ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ๋Š” ๊ธธ์ด๊ฐ€ 17๋กœ ๊ณ ์ •๋œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
    • logs ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ๋Š” H1:M1:S1-H2:M2:S2 ํ˜•์‹์ž…๋‹ˆ๋‹ค.
      • H1:M1:S1์€ ๋™์˜์ƒ์ด ์‹œ์ž‘๋œ ์‹œ๊ฐ, H2:M2:S2๋Š” ๋™์˜์ƒ์ด ์ข…๋ฃŒ๋œ ์‹œ๊ฐ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
      • H1:M1:S1๋Š” H2:M2:S2๋ณด๋‹ค 1์ดˆ ์ด์ƒ ์ด์ „ ์‹œ๊ฐ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
      • H1:M1:S1์™€ H2:M2:S2๋Š” play_time ์ด๋‚ด์˜ ์‹œ๊ฐ์ž…๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” HH, H1, H2์˜ ๋ฒ”์œ„๋Š” 00~99, ๋ถ„์„ ๋‚˜ํƒ€๋‚ด๋Š” MM, M1, M2์˜ ๋ฒ”์œ„๋Š” 00~59, ์ดˆ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” SS, S1, S2์˜ ๋ฒ”์œ„๋Š” 00~59๊นŒ์ง€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ž˜๋ชป๋œ ์‹œ๊ฐ์€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (์˜ˆ: 04:60:24, 11:12:78, 123:12:45 ๋“ฑ)

  • return ๊ฐ’์˜ ํ˜•์‹

    • ๊ณต์ต๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•  ์‹œ๊ฐ์„ HH:MM:SS ํ˜•์‹์˜ 8์ž๋ฆฌ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’™์ž…์ถœ๋ ฅ ์˜ˆ

play_timeadv_timelogsresult
"02:03:55""00:14:15"["01:20:15-01:45:14", "00:40:31-01:00:00", "00:25:50-00:48:29", "01:30:59-01:53:29", "01:37:44-02:02:30"]"01:30:59"
"99:59:59""25:00:00"["69:59:59-89:59:59", "01:00:00-21:00:00", "79:59:59-99:59:59", "11:00:00-31:00:00"]"01:00:00"
"50:00:00""50:00:00"["15:36:51-38:21:49", "10:14:18-15:36:51", "38:21:49-42:51:45"]"00:00:00"

๐Ÿ’œ์ž…์ถœ๋ ฅ ์˜ˆ์— ๋Œ€ํ•œ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1
๋ฌธ์ œ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

01:00:00์— ๊ณต์ต๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•˜๋ฉด 26:00:00๊นŒ์ง€ ์žฌ์ƒ๋˜๋ฉฐ, ์ด๊ณณ์ด ๊ฐ€์žฅ ์ข‹์€ ์œ„์น˜์ž…๋‹ˆ๋‹ค. ์ด ๊ตฌ๊ฐ„์˜ ์‹œ์ฒญ์ž ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • 01:00:00-11:00:00 : ํ•ด๋‹น ๊ตฌ๊ฐ„์ด 1ํšŒ(2๋ฒˆ ๊ธฐ๋ก) ์žฌ์ƒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ 10์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ ์ž…๋‹ˆ๋‹ค.
  • 11:00:00-21:00:00 : ํ•ด๋‹น ๊ตฌ๊ฐ„์ด 2ํšŒ(2๋ฒˆ, 4๋ฒˆ ๊ธฐ๋ก) ์žฌ์ƒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ 20์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ ์ž…๋‹ˆ๋‹ค.
  • 21:00:00-26:00:00 : ํ•ด๋‹น ๊ตฌ๊ฐ„์ด 1ํšŒ(4๋ฒˆ ๊ธฐ๋ก) ์žฌ์ƒ๋˜์—ˆ์œผ๋ฏ€๋กœ ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ 05์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ ์ž…๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ, ์ด ๊ตฌ๊ฐ„์˜ ์‹œ์ฒญ์ž ๋ˆ„์  ์žฌ์ƒ์‹œ๊ฐ„์€ 10์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ + 20์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ + 05์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ = 35์‹œ๊ฐ„ 00๋ถ„ 00์ดˆ ์ž…๋‹ˆ๋‹ค.
  • ์ดˆ๋ก์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ๊ตฌ๊ฐ„(69:59:59-94:59:59)์— ๊ด‘๊ณ ๋ฅผ ์‚ฝ์ž…ํ•ด๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋‚˜, 01:00:00์ด 69:59:59 ๋ณด๋‹ค ๋น ๋ฅธ ์‹œ๊ฐ์ด๋ฏ€๋กœ, "01:00:00"์„ return ํ•ฉ๋‹ˆ๋‹ค.

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

๋™์˜์ƒ ์žฌ์ƒ์‹œ๊ฐ„๊ณผ ๊ณต์ต๊ด‘๊ณ  ์žฌ์ƒ์‹œ๊ฐ„์ด ๊ฐ™์œผ๋ฏ€๋กœ, ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๋Š” ๋งจ ์ฒ˜์Œ(00:00:00)์ด ์œ ์ผํ•ฉ๋‹ˆ๋‹ค.


  1. ๋™์˜์ƒ ์žฌ์ƒ์‹œ๊ฐ„ = ์žฌ์ƒ์ด ์ข…๋ฃŒ๋œ ์‹œ๊ฐ - ์žฌ์ƒ์ด ์‹œ์ž‘๋œ ์‹œ๊ฐ(์˜ˆ๋ฅผ ๋“ค์–ด, 00์‹œ 00๋ถ„ 01์ดˆ๋ถ€ํ„ฐ 00์‹œ 00๋ถ„ 10์ดˆ๊นŒ์ง€ ๋™์˜์ƒ์ด ์žฌ์ƒ๋˜์—ˆ๋‹ค๋ฉด, ๋™์˜์ƒ ์žฌ์ƒ์‹œ๊ฐ„์€ 9์ดˆ ์ž…๋‹ˆ๋‹ค.) โ†ฉ

๐ŸคŽ๋‚˜์˜ ํ’€์ด

function solution(play_time, adv_time, logs) {
    // "HH:MM:DD" ํ˜•์‹์˜ ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ๋ฐ˜ํ™˜
    function toSec(t) {
        const [hour, min, sec] = t.split(":").map(a => Number(a))
        return hour*3600+min*60+sec
    }
    // ์ดˆ ๋‹จ์œ„์˜ ์‹œ๊ฐ„์„ "HH:MM:DD" ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜
    function whatTime(sec) {
        let hour = Math.floor(sec/3600)
        sec-=3600*hour
        let min = Math.floor(sec/60)
        sec-=60*min
        
        // HH MM DD ํ•œ ์ž๋ฆฌ ์ˆ˜๋ฉด ์•ž์— 0
        hour = String(hour).padStart(2, '0')
        min = String(min).padStart(2, '0')
        sec = String(sec).padStart(2, '0')
        return `${hour}:${min}:${sec}`
    }
    // ์ „์ฒด ์‹œ๊ฐ„์„ ์ดˆ๋‹จ์œ„๋กœ ๋ณ€ํ™˜
    const ptToSec = toSec(play_time)
    // ์ „์ฒด ์ดˆ ๊ธธ์ด์˜ ๋ฐฐ์—ด์„ ์ƒ์„ฑ (์žฌ์ƒ/์ค‘๋‹จ์‹œ ++,--)
    const wholeTimes = new Array(ptToSec).fill(0)
    // ๋กœ๊ทธ์˜ ์ „์ฒด ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ๋ณ€ํ™˜
    logs.forEach(log => {
        const [start, end] = log.split("-")
        // ๋น„๋””์˜ค ์‹œ์ž‘/์ข…๋ฃŒ
        const vs = toSec(start)
        const ve = toSec(end)
        // ์‹œ์ž‘์‹œ๊ฐ„์— ++, ์ข…๋ฃŒ์‹œ๊ฐ„์— --
        wholeTimes[vs]++
        wholeTimes[ve]--
    })
    // ์‹œ์ฒญ์ž ์ˆ˜ ๋ˆ„์ ํ•ฉ
    for(let i = 1; i <= ptToSec ; i ++) {
        wholeTimes[i] += wholeTimes[i-1]
    }
    // ๋ˆ„์  ์žฌ์ƒํšŸ์ˆ˜ ํ•ฉ(์‹œ๊ฐ„ * ์‹œ์ฒญ์ž ์ˆ˜)
    for(let i = 1; i <= ptToSec ; i ++) {
        wholeTimes[i] += wholeTimes[i-1]
    }
    // ๊ด‘๊ณ  ์˜์ƒ์˜ ์ดˆ๋‹จ์œ„ ์‹œ๊ฐ„์„ ์กฐํšŒ
    const advToSec = toSec(adv_time)
    // ์ดˆ๊ธฐ ์ตœ๋‹ค ๋ˆ„์  ์žฌ์ƒ ํšŸ์ˆ˜(์‹œ์ž‘ํ•˜์ž๋งˆ์ž ๊ด‘๊ณ  ์žฌ์ƒ) ๋ฐฐ์—ด์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ -1
    let maxRun = wholeTimes[advToSec-1]
    // ๊ด‘๊ณ  ์‹œ์ž‘์‹œ๊ฐ„
    let startTime = 0
    // ์ „์ฒด ์žฌ์ƒ ๊ฐ€๋Šฅํ•œ ๋ฐฐ์—ด ์ˆœํšŒ
    for(let i = advToSec-1 ; i < ptToSec ; i ++) {
        // i - (i-advToSec)์€ ํ•ด๋‹น ๊ตฌ๊ฐ„๋™์•ˆ์˜ ์žฌ์ƒ๋Ÿ‰์„ ๊ตฌํ•œ๋‹ค. ์ฆ‰ ์ตœ๋Œ€ ์žฌ์ƒ๋Ÿ‰์ด ๋œ ๊ฒฝ์šฐ
        if(wholeTimes[i] - wholeTimes[i-advToSec] > maxRun) {
            maxRun = wholeTimes[i] - wholeTimes[i-advToSec]
            
            // ๊ด‘๊ณ ์˜ ์‹œ์ž‘์‹œ๊ฐ„ ์ •์˜, ์ด์ „ ๋ฐฐ์—ด ํŠน์„ฑ์ƒ -1ํ•œ 1์ดˆ๋ฅผ ๋ณต์›ํ•จ
            startTime = i - advToSec +1
        }
    }
    // ๋‹ค์‹œ HH:MM:DD ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ 
    return whatTime(startTime)
}
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€