Coder Social home page Coder Social logo

algorhythm's Introduction

header

πŸ’œHi there!πŸ’œ

πŸ“šSTUDYπŸ“š

πŸ‘€CONTACT MEπŸ‘€

algorhythm's People

Contributors

cykim43 avatar

Watchers

 avatar

algorhythm's Issues

[Lv. 1] μ΅œμ†Œμ§μ‚¬κ°ν˜•


λͺ…함 지갑을 λ§Œλ“œλŠ” νšŒμ‚¬μ—μ„œ μ§€κ°‘μ˜ 크기λ₯Ό μ •ν•˜λ €κ³  ν•©λ‹ˆλ‹€. λ‹€μ–‘ν•œ λͺ¨μ–‘κ³Ό 크기의 λͺ…함듀을 λͺ¨λ‘ μˆ˜λ‚©ν•  수 μžˆμœΌλ©΄μ„œ, μž‘μ•„μ„œ λ“€κ³  λ‹€λ‹ˆκΈ° νŽΈν•œ 지갑을 λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μš”κ±΄μ„ λ§Œμ‘±ν•˜λŠ” 지갑을 λ§Œλ“€κΈ° μœ„ν•΄ λ””μžμΈνŒ€μ€ λͺ¨λ“  λͺ…ν•¨μ˜ κ°€λ‘œ 길이와 μ„Έλ‘œ 길이λ₯Ό μ‘°μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€.

μ•„λž˜ ν‘œλŠ” 4가지 λͺ…ν•¨μ˜ κ°€λ‘œ 길이와 μ„Έλ‘œ 길이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

λͺ…함 번호 κ°€λ‘œ 길이 μ„Έλ‘œ 길이
1 60 50
2 30 70
3 60 30
4 80 40

κ°€μž₯ κΈ΄ κ°€λ‘œ 길이와 μ„Έλ‘œ 길이가 각각 80, 70이기 λ•Œλ¬Έμ— 80(κ°€λ‘œ) x 70(μ„Έλ‘œ) 크기의 지갑을 λ§Œλ“€λ©΄ λͺ¨λ“  λͺ…함듀을 μˆ˜λ‚©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 2번 λͺ…함을 κ°€λ‘œλ‘œ λˆ•ν˜€ μˆ˜λ‚©ν•œλ‹€λ©΄ 80(κ°€λ‘œ) x 50(μ„Έλ‘œ) 크기의 μ§€κ°‘μœΌλ‘œ λͺ¨λ“  λͺ…함듀을 μˆ˜λ‚©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œμ˜ 지갑 ν¬κΈ°λŠ” 4000(=80 x 50)μž…λ‹ˆλ‹€.

λͺ¨λ“  λͺ…ν•¨μ˜ κ°€λ‘œ 길이와 μ„Έλ‘œ 길이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 2차원 λ°°μ—΄ sizesκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§‘λ‹ˆλ‹€. λͺ¨λ“  λͺ…함을 μˆ˜λ‚©ν•  수 μžˆλŠ” κ°€μž₯ μž‘μ€ 지갑을 λ§Œλ“€ λ•Œ, μ§€κ°‘μ˜ 크기λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • sizes의 κΈΈμ΄λŠ” 1 이상 10,000 μ΄ν•˜μž…λ‹ˆλ‹€.
    • sizes의 μ›μ†ŒλŠ” [w, h] ν˜•μ‹μž…λ‹ˆλ‹€.
    • wλŠ” λͺ…ν•¨μ˜ κ°€λ‘œ 길이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    • hλŠ” λͺ…ν•¨μ˜ μ„Έλ‘œ 길이λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    • w와 hλŠ” 1 이상 1,000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
sizes result
[[60, 50], [30, 70], [60, 30], [80, 40]] 4000
[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120
[[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1
문제 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2
λͺ…함듀을 적절히 νšŒμ „μ‹œμΌœ 겹쳀을 λ•Œ, 3번째 λͺ…함(κ°€λ‘œ: 8, μ„Έλ‘œ: 15)이 λ‹€λ₯Έ λͺ¨λ“  λͺ…함보닀 크기가 ν½λ‹ˆλ‹€. λ”°λΌμ„œ μ§€κ°‘μ˜ ν¬κΈ°λŠ” 3번째 λͺ…ν•¨μ˜ 크기와 κ°™μœΌλ©°, 120(=8 x 15)을 return ν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #3
λͺ…함듀을 적절히 νšŒμ „μ‹œμΌœ 겹쳀을 λ•Œ, λͺ¨λ“  λͺ…함을 ν¬ν•¨ν•˜λŠ” κ°€μž₯ μž‘μ€ μ§€κ°‘μ˜ ν¬κΈ°λŠ” 133(=19 x 7)μž…λ‹ˆλ‹€.

[Lv. 2] 주식가격


초 λ‹¨μœ„λ‘œ 기둝된 주식가격이 λ‹΄κΈ΄ λ°°μ—΄ pricesκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 가격이 떨어지지 μ•Šμ€ 기간은 λͺ‡ μ΄ˆμΈμ§€λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•˜μ„Έμš”.

μ œν•œμ‚¬ν•­
  • prices의 각 가격은 1 이상 10,000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
  • prices의 κΈΈμ΄λŠ” 2 이상 100,000 μ΄ν•˜μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
prices return
[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]
μž…μΆœλ ₯ 예 μ„€λͺ…
  • 1초 μ‹œμ μ˜ β‚©1은 λκΉŒμ§€ 가격이 떨어지지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
  • 2초 μ‹œμ μ˜ β‚©2은 λκΉŒμ§€ 가격이 떨어지지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
  • 3초 μ‹œμ μ˜ β‚©3은 1μ΄ˆλ’€μ— 가격이 λ–¨μ–΄μ§‘λ‹ˆλ‹€. λ”°λΌμ„œ 1μ΄ˆκ°„ 가격이 떨어지지 μ•Šμ€ κ²ƒμœΌλ‘œ λ΄…λ‹ˆλ‹€.
  • 4초 μ‹œμ μ˜ β‚©2은 1μ΄ˆκ°„ 가격이 떨어지지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
  • 5초 μ‹œμ μ˜ β‚©3은 0μ΄ˆκ°„ 가격이 떨어지지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

[Lv. 2] μ˜¬λ°”λ₯Έ κ΄„ν˜Έ


κ΄„ν˜Έκ°€ λ°”λ₯΄κ²Œ μ§μ§€μ–΄μ‘Œλ‹€λŠ” 것은 '(' 문자둜 μ—΄λ ΈμœΌλ©΄ λ°˜λ“œμ‹œ μ§μ§€μ–΄μ„œ ')' 문자둜 λ‹«ν˜€μ•Ό ν•œλ‹€λŠ” λœ»μž…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄

  • "()()" λ˜λŠ” "(())()" λŠ” μ˜¬λ°”λ₯Έ κ΄„ν˜Έμž…λ‹ˆλ‹€.
  • ")()(" λ˜λŠ” "(()(" λŠ” μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ κ΄„ν˜Έμž…λ‹ˆλ‹€.

'(' λ˜λŠ” ')' 둜만 이루어진 λ¬Έμžμ—΄ sκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, λ¬Έμžμ—΄ sκ°€ μ˜¬λ°”λ₯Έ κ΄„ν˜Έμ΄λ©΄ trueλ₯Ό return ν•˜κ³ , μ˜¬λ°”λ₯΄μ§€ μ•Šμ€ κ΄„ν˜Έμ΄λ©΄ falseλ₯Ό return ν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • λ¬Έμžμ—΄ s의 길이 : 100,000 μ΄ν•˜μ˜ μžμ—°μˆ˜
  • λ¬Έμžμ—΄ sλŠ” '(' λ˜λŠ” ')' 둜만 이루어져 μžˆμŠ΅λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
s answer
"()()" true
"(())()" true
")()(" false
"(()(" false
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1,2,3,4
문제의 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

[Lv. 2] H-Index


H-IndexλŠ” κ³Όν•™μžμ˜ 생산성과 영ν–₯λ ₯을 λ‚˜νƒ€λ‚΄λŠ” μ§€ν‘œμž…λ‹ˆλ‹€. μ–΄λŠ κ³Όν•™μžμ˜ H-Indexλ₯Ό λ‚˜νƒ€λ‚΄λŠ” 값인 hλ₯Ό κ΅¬ν•˜λ €κ³  ν•©λ‹ˆλ‹€. μœ„ν‚€λ°±κ³Ό1에 λ”°λ₯΄λ©΄, H-IndexλŠ” λ‹€μŒκ³Ό 같이 κ΅¬ν•©λ‹ˆλ‹€.

μ–΄λ–€ κ³Όν•™μžκ°€ λ°œν‘œν•œ λ…Όλ¬Έ n편 쀑, h번 이상 인용된 논문이 h편 이상이고 λ‚˜λ¨Έμ§€ 논문이 h번 μ΄ν•˜ μΈμš©λ˜μ—ˆλ‹€λ©΄ h의 μ΅œλŒ“κ°’μ΄ 이 κ³Όν•™μžμ˜ H-Indexμž…λ‹ˆλ‹€.

μ–΄λ–€ κ³Όν•™μžκ°€ λ°œν‘œν•œ λ…Όλ¬Έμ˜ 인용 횟수λ₯Ό 담은 λ°°μ—΄ citationsκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 이 κ³Όν•™μžμ˜ H-Indexλ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • κ³Όν•™μžκ°€ λ°œν‘œν•œ λ…Όλ¬Έμ˜ μˆ˜λŠ” 1편 이상 1,000편 μ΄ν•˜μž…λ‹ˆλ‹€.
  • 논문별 인용 νšŸμˆ˜λŠ” 0회 이상 10,000회 μ΄ν•˜μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
citations return
[3, 0, 6, 1, 5] 3
μž…μΆœλ ₯ 예 μ„€λͺ…

이 κ³Όν•™μžκ°€ λ°œν‘œν•œ λ…Όλ¬Έμ˜ μˆ˜λŠ” 5편이고, 그쀑 3편의 논문은 3회 이상 μΈμš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 그리고 λ‚˜λ¨Έμ§€ 2편의 논문은 3회 μ΄ν•˜ μΈμš©λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이 κ³Όν•™μžμ˜ H-IndexλŠ” 3μž…λ‹ˆλ‹€.

[Lv. 1] K번째수


λ°°μ—΄ array의 i번째 μˆ«μžλΆ€ν„° j번째 μˆ«μžκΉŒμ§€ 자λ₯΄κ³  μ •λ ¬ν–ˆμ„ λ•Œ, kλ²ˆμ§Έμ— μžˆλŠ” 수λ₯Ό κ΅¬ν•˜λ € ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ arrayκ°€ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면

  1. array의 2λ²ˆμ§ΈλΆ€ν„° 5λ²ˆμ§ΈκΉŒμ§€ 자λ₯΄λ©΄ [5, 2, 6, 3]μž…λ‹ˆλ‹€.
  2. 1μ—μ„œ λ‚˜μ˜¨ 배열을 μ •λ ¬ν•˜λ©΄ [2, 3, 5, 6]μž…λ‹ˆλ‹€.
  3. 2μ—μ„œ λ‚˜μ˜¨ λ°°μ—΄μ˜ 3번째 μˆ«μžλŠ” 5μž…λ‹ˆλ‹€.

λ°°μ—΄ array, [i, j, k]λ₯Ό μ›μ†Œλ‘œ 가진 2차원 λ°°μ—΄ commandsκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, commands의 λͺ¨λ“  μ›μ†Œμ— λŒ€ν•΄ μ•žμ„œ μ„€λͺ…ν•œ 연산을 μ μš©ν–ˆμ„ λ•Œ λ‚˜μ˜¨ κ²°κ³Όλ₯Ό 배열에 λ‹΄μ•„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • array의 κΈΈμ΄λŠ” 1 이상 100 μ΄ν•˜μž…λ‹ˆλ‹€.
  • array의 각 μ›μ†ŒλŠ” 1 이상 100 μ΄ν•˜μž…λ‹ˆλ‹€.
  • commands의 κΈΈμ΄λŠ” 1 이상 50 μ΄ν•˜μž…λ‹ˆλ‹€.
  • commands의 각 μ›μ†ŒλŠ” 길이가 3μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
array commands return
[1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3]
μž…μΆœλ ₯ 예 μ„€λͺ…

[1, 5, 2, 6, 3, 7, 4]λ₯Ό 2λ²ˆμ§ΈλΆ€ν„° 5λ²ˆμ§ΈκΉŒμ§€ 자λ₯Έ ν›„ μ •λ ¬ν•©λ‹ˆλ‹€. [2, 3, 5, 6]의 μ„Έ 번째 μˆ«μžλŠ” 5μž…λ‹ˆλ‹€.
[1, 5, 2, 6, 3, 7, 4]λ₯Ό 4λ²ˆμ§ΈλΆ€ν„° 4λ²ˆμ§ΈκΉŒμ§€ 자λ₯Έ ν›„ μ •λ ¬ν•©λ‹ˆλ‹€. [6]의 첫 번째 μˆ«μžλŠ” 6μž…λ‹ˆλ‹€.
[1, 5, 2, 6, 3, 7, 4]λ₯Ό 1λ²ˆμ§ΈλΆ€ν„° 7λ²ˆμ§ΈκΉŒμ§€ μžλ¦…λ‹ˆλ‹€. [1, 2, 3, 4, 5, 6, 7]의 μ„Έ 번째 μˆ«μžλŠ” 3μž…λ‹ˆλ‹€.

[Lv. 2] κ²Œμž„ 맡 μ΅œλ‹¨κ±°λ¦¬


ROR κ²Œμž„μ€ 두 νŒ€μœΌλ‘œ λ‚˜λˆ„μ–΄μ„œ μ§„ν–‰ν•˜λ©°, μƒλŒ€ νŒ€ μ§„μ˜μ„ λ¨Όμ € νŒŒκ΄΄ν•˜λ©΄ μ΄κΈ°λŠ” κ²Œμž„μž…λ‹ˆλ‹€. λ”°λΌμ„œ, 각 νŒ€μ€ μƒλŒ€ νŒ€ μ§„μ˜μ— μ΅œλŒ€ν•œ 빨리 λ„μ°©ν•˜λŠ” 것이 μœ λ¦¬ν•©λ‹ˆλ‹€.

μ§€κΈˆλΆ€ν„° 당신은 ν•œ νŒ€μ˜ νŒ€μ›μ΄ λ˜μ–΄ κ²Œμž„μ„ μ§„ν–‰ν•˜λ €κ³  ν•©λ‹ˆλ‹€. λ‹€μŒμ€ 5 x 5 크기의 맡에, λ‹Ήμ‹ μ˜ 캐릭터가 (ν–‰: 1, μ—΄: 1) μœ„μΉ˜μ— 있고, μƒλŒ€ νŒ€ μ§„μ˜μ€ (ν–‰: 5, μ—΄: 5) μœ„μΉ˜μ— μžˆλŠ” 경우의 μ˜ˆμ‹œμž…λ‹ˆλ‹€.

example1

μœ„ κ·Έλ¦Όμ—μ„œ 검은색 뢀뢄은 벽으둜 λ§‰ν˜€μžˆμ–΄ 갈 수 μ—†λŠ” 길이며, 흰색 뢀뢄은 갈 수 μžˆλŠ” κΈΈμž…λ‹ˆλ‹€. 캐릭터가 움직일 λ•ŒλŠ” 동, μ„œ, 남, 뢁 λ°©ν–₯으둜 ν•œ μΉΈμ”© μ΄λ™ν•˜λ©°, κ²Œμž„ 맡을 λ²—μ–΄λ‚œ 길은 갈 수 μ—†μŠ΅λ‹ˆλ‹€.
μ•„λž˜ μ˜ˆμ‹œλŠ” 캐릭터가 μƒλŒ€ νŒ€ μ§„μ˜μœΌλ‘œ κ°€λŠ” 두 가지 방법을 λ‚˜νƒ€λ‚΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • 첫 번째 방법은 11개의 칸을 μ§€λ‚˜μ„œ μƒλŒ€ νŒ€ μ§„μ˜μ— λ„μ°©ν–ˆμŠ΅λ‹ˆλ‹€.
    example1

  • 두 번째 방법은 15개의 칸을 μ§€λ‚˜μ„œ μƒλŒ€νŒ€ μ§„μ˜μ— λ„μ°©ν–ˆμŠ΅λ‹ˆλ‹€.
    example1

μœ„ μ˜ˆμ‹œμ—μ„œλŠ” 첫 번째 방법보닀 더 λΉ λ₯΄κ²Œ μƒλŒ€νŒ€ μ§„μ˜μ— λ„μ°©ν•˜λŠ” 방법은 μ—†μœΌλ―€λ‘œ, 이 방법이 μƒλŒ€ νŒ€ μ§„μ˜μœΌλ‘œ κ°€λŠ” κ°€μž₯ λΉ λ₯Έ λ°©λ²•μž…λ‹ˆλ‹€.

λ§Œμ•½, μƒλŒ€ νŒ€μ΄ μžμ‹ μ˜ νŒ€ μ§„μ˜ μ£Όμœ„μ— 벽을 μ„Έμ›Œλ‘μ—ˆλ‹€λ©΄ μƒλŒ€ νŒ€ μ§„μ˜μ— λ„μ°©ν•˜μ§€ λͺ»ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ‹€μŒκ³Ό 같은 κ²½μš°μ— λ‹Ήμ‹ μ˜ μΊλ¦­ν„°λŠ” μƒλŒ€ νŒ€ μ§„μ˜μ— 도착할 수 μ—†μŠ΅λ‹ˆλ‹€.
example1

κ²Œμž„ 맡의 μƒνƒœ mapsκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 캐릭터가 μƒλŒ€ νŒ€ μ§„μ˜μ— λ„μ°©ν•˜κΈ° μœ„ν•΄μ„œ μ§€λ‚˜κ°€μ•Ό ν•˜λŠ” 칸의 개수의 μ΅œμ†Ÿκ°’μ„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”. 단, μƒλŒ€ νŒ€ μ§„μ˜μ— 도착할 수 없을 λ•ŒλŠ” -1을 return ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • mapsλŠ” n x m 크기의 κ²Œμž„ 맡의 μƒνƒœκ°€ λ“€μ–΄μžˆλŠ” 2차원 λ°°μ—΄λ‘œ, nκ³Ό m은 각각 1 이상 100 μ΄ν•˜μ˜ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
    • nκ³Ό m은 μ„œλ‘œ 같을 μˆ˜λ„, λ‹€λ₯Ό μˆ˜λ„ μžˆμ§€λ§Œ, nκ³Ό m이 λͺ¨λ‘ 1인 κ²½μš°λŠ” μž…λ ₯으둜 주어지지 μ•ŠμŠ΅λ‹ˆλ‹€.
  • mapsλŠ” 0κ³Ό 1둜만 이루어져 있으며, 0은 벽이 μžˆλŠ” 자리, 1은 벽이 μ—†λŠ” 자리λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  • μ²˜μŒμ— μΊλ¦­ν„°λŠ” κ²Œμž„ 맡의 쒌츑 상단인 (1, 1) μœ„μΉ˜μ— 있으며, μƒλŒ€λ°© μ§„μ˜μ€ κ²Œμž„ 맡의 우츑 ν•˜λ‹¨μΈ (n, m) μœ„μΉ˜μ— μžˆμŠ΅λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
maps answer
[[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11
[[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1
μž…μΆœλ ₯ 예 μ„€λͺ…

예제 #1, 2
문제의 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

[Lv. 1] λͺ¨μ˜κ³ μ‚¬


μˆ˜ν¬μžλŠ” μˆ˜ν•™μ„ ν¬κΈ°ν•œ μ‚¬λžŒμ˜ μ€€λ§μž…λ‹ˆλ‹€. 수포자 삼인방은 λͺ¨μ˜κ³ μ‚¬μ— μˆ˜ν•™ 문제λ₯Ό μ „λΆ€ 찍으렀 ν•©λ‹ˆλ‹€. μˆ˜ν¬μžλŠ” 1번 λ¬Έμ œλΆ€ν„° λ§ˆμ§€λ§‰ λ¬Έμ œκΉŒμ§€ λ‹€μŒκ³Ό 같이 μ°μŠ΅λ‹ˆλ‹€.

1번 μˆ˜ν¬μžκ°€ μ°λŠ” 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2번 μˆ˜ν¬μžκ°€ μ°λŠ” 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3번 μˆ˜ν¬μžκ°€ μ°λŠ” 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...

1번 λ¬Έμ œλΆ€ν„° λ§ˆμ§€λ§‰ λ¬Έμ œκΉŒμ§€μ˜ 정닡이 μˆœμ„œλŒ€λ‘œ 듀은 λ°°μ—΄ answersκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ°€μž₯ λ§Žμ€ 문제λ₯Ό 맞힌 μ‚¬λžŒμ΄ λˆ„κ΅¬μΈμ§€ 배열에 λ‹΄μ•„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • μ‹œν—˜μ€ μ΅œλŒ€ 10,000 문제둜 κ΅¬μ„±λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€.
  • 문제의 정닡은 1, 2, 3, 4, 5쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.
  • κ°€μž₯ 높은 점수λ₯Ό 받은 μ‚¬λžŒμ΄ μ—¬λŸΏμΌ 경우, returnν•˜λŠ” 값을 μ˜€λ¦„μ°¨μˆœ μ •λ ¬ν•΄μ£Όμ„Έμš”.
μž…μΆœλ ₯ 예
answers return
[1,2,3,4,5] [1]
[1,3,2,4,2] [1,2,3]
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1

  • 수포자 1은 λͺ¨λ“  문제λ₯Ό λ§žν˜”μŠ΅λ‹ˆλ‹€.
  • 수포자 2λŠ” λͺ¨λ“  문제λ₯Ό ν‹€λ ΈμŠ΅λ‹ˆλ‹€.
  • 수포자 3은 λͺ¨λ“  문제λ₯Ό ν‹€λ ΈμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ κ°€μž₯ 문제λ₯Ό 많이 맞힌 μ‚¬λžŒμ€ 수포자 1μž…λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2

λͺ¨λ“  μ‚¬λžŒμ΄ 2λ¬Έμ œμ”©μ„ λ§žμ·„μŠ΅λ‹ˆλ‹€.

[Lv. 2] νƒ€κ²Ÿ λ„˜λ²„


n개의 음이 μ•„λ‹Œ μ •μˆ˜λ“€μ΄ μžˆμŠ΅λ‹ˆλ‹€. 이 μ •μˆ˜λ“€μ„ μˆœμ„œλ₯Ό 바꾸지 μ•Šκ³  적절히 λ”ν•˜κ±°λ‚˜ λΉΌμ„œ νƒ€κ²Ÿ λ„˜λ²„λ₯Ό λ§Œλ“€λ €κ³  ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ [1, 1, 1, 1, 1]둜 숫자 3을 λ§Œλ“€λ €λ©΄ λ‹€μŒ λ‹€μ„― 방법을 μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€.

-1+1+1+1+1 = 3
+1-1+1+1+1 = 3
+1+1-1+1+1 = 3
+1+1+1-1+1 = 3
+1+1+1+1-1 = 3

μ‚¬μš©ν•  수 μžˆλŠ” μˆ«μžκ°€ λ‹΄κΈ΄ λ°°μ—΄ numbers, νƒ€κ²Ÿ λ„˜λ²„ target이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ 숫자λ₯Ό 적절히 λ”ν•˜κ³  λΉΌμ„œ νƒ€κ²Ÿ λ„˜λ²„λ₯Ό λ§Œλ“œλŠ” λ°©λ²•μ˜ 수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • μ£Όμ–΄μ§€λŠ” 숫자의 κ°œμˆ˜λŠ” 2개 이상 20개 μ΄ν•˜μž…λ‹ˆλ‹€.
  • 각 μˆ«μžλŠ” 1 이상 50 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
  • νƒ€κ²Ÿ λ„˜λ²„λŠ” 1 이상 1000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
numbers target return
[1, 1, 1, 1, 1] 3 5
[4, 1, 2, 1] 4 2
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1

문제 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2

+4+1-2+1 = 4
+4-1+2-1 = 4

총 2가지 방법이 μžˆμœΌλ―€λ‘œ, 2λ₯Ό return ν•©λ‹ˆλ‹€.

[Sliver 4] 11399 - ATM


문제

μΈν•˜μ€ν–‰μ—λŠ” ATM이 1λŒ€λ°–μ— μ—†λ‹€. μ§€κΈˆ 이 ATMμ•žμ— Nλͺ…μ˜ μ‚¬λžŒλ“€μ΄ 쀄을 μ„œμžˆλ‹€. μ‚¬λžŒμ€ 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€ λ²ˆν˜Έκ°€ 맀겨져 있으며, i번 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„μ€ Pi뢄이닀.

μ‚¬λžŒλ“€μ΄ 쀄을 μ„œλŠ” μˆœμ„œμ— λ”°λΌμ„œ, λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ 합이 λ‹¬λΌμ§€κ²Œ λœλ‹€. 예λ₯Ό λ“€μ–΄, 총 5λͺ…이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우λ₯Ό μƒκ°ν•΄λ³΄μž. [1, 2, 3, 4, 5] μˆœμ„œλ‘œ 쀄을 μ„ λ‹€λ©΄, 1번 μ‚¬λžŒμ€ 3λΆ„λ§Œμ— λˆμ„ 뽑을 수 μžˆλ‹€. 2번 μ‚¬λžŒμ€ 1번 μ‚¬λžŒμ΄ λˆμ„ 뽑을 λ•Œ κΉŒμ§€ κΈ°λ‹€λ €μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—, 3+1 = 4뢄이 걸리게 λœλ‹€. 3번 μ‚¬λžŒμ€ 1번, 2번 μ‚¬λžŒμ΄ λˆμ„ 뽑을 λ•ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—, 총 3+1+4 = 8뢄이 ν•„μš”ν•˜κ²Œ λœλ‹€. 4번 μ‚¬λžŒμ€ 3+1+4+3 = 11λΆ„, 5번 μ‚¬λžŒμ€ 3+1+4+3+2 = 13뢄이 걸리게 λœλ‹€. 이 κ²½μš°μ— 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ 합은 3+4+8+11+13 = 39뢄이 λœλ‹€.

쀄을 [2, 5, 1, 4, 3] μˆœμ„œλ‘œ 쀄을 μ„œλ©΄, 2번 μ‚¬λžŒμ€ 1λΆ„λ§Œμ—, 5번 μ‚¬λžŒμ€ 1+2 = 3λΆ„, 1번 μ‚¬λžŒμ€ 1+2+3 = 6λΆ„, 4번 μ‚¬λžŒμ€ 1+2+3+3 = 9λΆ„, 3번 μ‚¬λžŒμ€ 1+2+3+3+4 = 13뢄이 걸리게 λœλ‹€. 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ 합은 1+3+6+9+13 = 32뢄이닀. 이 방법보닀 더 ν•„μš”ν•œ μ‹œκ°„μ˜ 합을 μ΅œμ†Œλ‘œ λ§Œλ“€ μˆ˜λŠ” μ—†λ‹€.

쀄을 μ„œ μžˆλŠ” μ‚¬λžŒμ˜ 수 Nκ³Ό 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„ Piκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ ν•©μ˜ μ΅œμ†Ÿκ°’μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 μ‚¬λžŒμ˜ 수 N(1 ≀ N ≀ 1,000)이 주어진닀. λ‘˜μ§Έ μ€„μ—λŠ” 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° κ±Έλ¦¬λŠ” μ‹œκ°„ Piκ°€ 주어진닀. (1 ≀ Pi ≀ 1,000)

좜λ ₯

첫째 쀄에 각 μ‚¬λžŒμ΄ λˆμ„ μΈμΆœν•˜λŠ”λ° ν•„μš”ν•œ μ‹œκ°„μ˜ ν•©μ˜ μ΅œμ†Ÿκ°’μ„ 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯

5
3 1 4 3 2

예제 좜λ ₯

32

[Lv. 2] ν”Όλ‘œλ„


XXκ²Œμž„μ—λŠ” ν”Όλ‘œλ„ μ‹œμŠ€ν…œ(0 μ΄μƒμ˜ μ •μˆ˜λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€)이 있으며, 일정 ν”Όλ‘œλ„λ₯Ό μ‚¬μš©ν•΄μ„œ λ˜μ „μ„ νƒν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ, 각 λ˜μ „λ§ˆλ‹€ νƒν—˜μ„ μ‹œμž‘ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"와 λ˜μ „ νƒν—˜μ„ λ§ˆμ³€μ„ λ•Œ μ†Œλͺ¨λ˜λŠ” "μ†Œλͺ¨ ν”Όλ‘œλ„"κ°€ μžˆμŠ΅λ‹ˆλ‹€. "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"λŠ” ν•΄λ‹Ή λ˜μ „μ„ νƒν—˜ν•˜κΈ° μœ„ν•΄ 가지고 μžˆμ–΄μ•Ό ν•˜λŠ” μ΅œμ†Œν•œμ˜ ν”Όλ‘œλ„λ₯Ό λ‚˜νƒ€λ‚΄λ©°, "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” λ˜μ „μ„ νƒν—˜ν•œ ν›„ μ†Œλͺ¨λ˜λŠ” ν”Όλ‘œλ„λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"κ°€ 80, "μ†Œλͺ¨ ν”Όλ‘œλ„"κ°€ 20인 λ˜μ „μ„ νƒν—˜ν•˜κΈ° μœ„ν•΄μ„œλŠ” μœ μ €μ˜ ν˜„μž¬ 남은 ν”Όλ‘œλ„λŠ” 80 이상 이어야 ν•˜λ©°, λ˜μ „μ„ νƒν—˜ν•œ ν›„μ—λŠ” ν”Όλ‘œλ„ 20이 μ†Œλͺ¨λ©λ‹ˆλ‹€.

이 κ²Œμž„μ—λŠ” ν•˜λ£¨μ— ν•œ λ²ˆμ”© νƒν—˜ν•  수 μžˆλŠ” λ˜μ „μ΄ μ—¬λŸ¬κ°œ μžˆλŠ”λ°, ν•œ μœ μ €κ°€ 였늘 이 λ˜μ „λ“€μ„ μ΅œλŒ€ν•œ 많이 νƒν—˜ν•˜λ € ν•©λ‹ˆλ‹€. μœ μ €μ˜ ν˜„μž¬ ν”Όλ‘œλ„ k와 각 λ˜μ „λ³„ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„", "μ†Œλͺ¨ ν”Όλ‘œλ„"κ°€ λ‹΄κΈ΄ 2차원 λ°°μ—΄ dungeons κ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, μœ μ €κ°€ νƒν—˜ν• μˆ˜ μžˆλŠ” μ΅œλŒ€ λ˜μ „ 수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • kλŠ” 1 이상 5,000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
  • dungeons의 μ„Έλ‘œ(ν–‰) 길이(즉, λ˜μ „μ˜ 개수)λŠ” 1 이상 8 μ΄ν•˜μž…λ‹ˆλ‹€.
    • dungeons의 κ°€λ‘œ(μ—΄) κΈΈμ΄λŠ” 2 μž…λ‹ˆλ‹€.
    • dungeons의 각 행은 각 λ˜μ „μ˜ ["μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„", "μ†Œλͺ¨ ν”Όλ‘œλ„"] μž…λ‹ˆλ‹€.
    • "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"λŠ” 항상 "μ†Œλͺ¨ ν”Όλ‘œλ„"보닀 ν¬κ±°λ‚˜ κ°™μŠ΅λ‹ˆλ‹€.
    • "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"와 "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” 1 이상 1,000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
    • μ„œλ‘œ λ‹€λ₯Έ λ˜μ „μ˜ ["μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„", "μ†Œλͺ¨ ν”Όλ‘œλ„"]κ°€ μ„œλ‘œ 같을 수 μžˆμŠ΅λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
k dungeons result
80 [[80,20],[50,40],[30,10]] 3
μž…μΆœλ ₯ 예 μ„€λͺ…

ν˜„μž¬ ν”Όλ‘œλ„λŠ” 80μž…λ‹ˆλ‹€.

λ§Œμ•½, 첫 번째 β†’ 두 번째 β†’ μ„Έ 번째 λ˜μ „ μˆœμ„œλ‘œ νƒν—˜ν•œλ‹€λ©΄

  • ν˜„μž¬ ν”Όλ‘œλ„λŠ” 80이며, 첫 번째 λ˜μ „μ„ λŒκΈ°μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„" λ˜ν•œ 80μ΄λ―€λ‘œ, 첫 번째 λ˜μ „μ„ νƒν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 첫 번째 λ˜μ „μ˜ "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” 20μ΄λ―€λ‘œ, λ˜μ „μ„ νƒν—˜ν•œ ν›„ 남은 ν”Όλ‘œλ„λŠ” 60μž…λ‹ˆλ‹€.
  • 남은 ν”Όλ‘œλ„λŠ” 60이며, 두 번째 λ˜μ „μ„ λŒκΈ°μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"λŠ” 50μ΄λ―€λ‘œ, 두 번째 λ˜μ „μ„ νƒν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 두 번째 λ˜μ „μ˜ "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” 40μ΄λ―€λ‘œ, λ˜μ „μ„ νƒν—˜ν•œ ν›„ 남은 ν”Όλ‘œλ„λŠ” 20μž…λ‹ˆλ‹€.
  • 남은 ν”Όλ‘œλ„λŠ” 20이며, μ„Έ 번째 λ˜μ „μ„ λŒκΈ°μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"λŠ” 30μž…λ‹ˆλ‹€. λ”°λΌμ„œ μ„Έ 번째 λ˜μ „μ€ νƒν—˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λ§Œμ•½, 첫 번째 β†’ μ„Έ 번째 β†’ 두 번째 λ˜μ „ μˆœμ„œλ‘œ νƒν—˜ν•œλ‹€λ©΄

  • ν˜„μž¬ ν”Όλ‘œλ„λŠ” 80이며, 첫 번째 λ˜μ „μ„ λŒκΈ°μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„" λ˜ν•œ 80μ΄λ―€λ‘œ, 첫 번째 λ˜μ „μ„ νƒν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 첫 번째 λ˜μ „μ˜ "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” 20μ΄λ―€λ‘œ, λ˜μ „μ„ νƒν—˜ν•œ ν›„ 남은 ν”Όλ‘œλ„λŠ” 60μž…λ‹ˆλ‹€.
  • 남은 ν”Όλ‘œλ„λŠ” 60이며, μ„Έ 번째 λ˜μ „μ„ λŒκΈ°μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"λŠ” 30μ΄λ―€λ‘œ, μ„Έ 번째 λ˜μ „μ„ νƒν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„Έ 번째 λ˜μ „μ˜ "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” 10μ΄λ―€λ‘œ, λ˜μ „μ„ νƒν—˜ν•œ ν›„ 남은 ν”Όλ‘œλ„λŠ” 50μž…λ‹ˆλ‹€.
  • 남은 ν”Όλ‘œλ„λŠ” 50이며, 두 번째 λ˜μ „μ„ λŒκΈ°μœ„ν•΄ ν•„μš”ν•œ "μ΅œμ†Œ ν•„μš” ν”Όλ‘œλ„"λŠ” 50μ΄λ―€λ‘œ, 두 번째 λ˜μ „μ„ νƒν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 두 번째 λ˜μ „μ˜ "μ†Œλͺ¨ ν”Όλ‘œλ„"λŠ” 40μ΄λ―€λ‘œ, λ˜μ „μ„ νƒν—˜ν•œ ν›„ 남은 ν”Όλ‘œλ„λŠ” 10μž…λ‹ˆλ‹€.

λ”°λΌμ„œ 이 경우 μ„Έ λ˜μ „μ„ λͺ¨λ‘ νƒν—˜ν•  수 있으며, μœ μ €κ°€ νƒν—˜ν•  수 μžˆλŠ” μ΅œλŒ€ λ˜μ „ μˆ˜λŠ” 3μž…λ‹ˆλ‹€.

[Silver 1] 11660 - ꡬ간 ν•© κ΅¬ν•˜κΈ° 5


문제

NΓ—N개의 μˆ˜κ°€ NΓ—N 크기의 ν‘œμ— μ±„μ›Œμ Έ μžˆλ‹€. (x1, y1)λΆ€ν„° (x2, y2)κΉŒμ§€ 합을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. (x, y)λŠ” xν–‰ y열을 μ˜λ―Έν•œλ‹€.
예λ₯Ό λ“€μ–΄, N = 4이고, ν‘œκ°€ μ•„λž˜μ™€ 같이 μ±„μ›Œμ Έ μžˆλŠ” 경우λ₯Ό μ‚΄νŽ΄λ³΄μž.

1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7

μ—¬κΈ°μ„œ (2, 2)λΆ€ν„° (3, 4)κΉŒμ§€ 합을 κ΅¬ν•˜λ©΄ 3+4+5+4+5+6 = 27이고, (4, 4)λΆ€ν„° (4, 4)κΉŒμ§€ 합을 κ΅¬ν•˜λ©΄ 7이닀.
ν‘œμ— μ±„μ›Œμ Έ μžˆλŠ” μˆ˜μ™€ 합을 κ΅¬ν•˜λŠ” 연산이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 이λ₯Ό μ²˜λ¦¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 ν‘œμ˜ 크기 Nκ³Ό 합을 ꡬ해야 ν•˜λŠ” 횟수 M이 주어진닀. (1 ≀ N ≀ 1024, 1 ≀ M ≀ 100,000) λ‘˜μ§Έ 쀄뢀터 N개의 μ€„μ—λŠ” ν‘œμ— μ±„μ›Œμ Έ μžˆλŠ” μˆ˜κ°€ 1ν–‰λΆ€ν„° μ°¨λ‘€λŒ€λ‘œ 주어진닀. λ‹€μŒ M개의 μ€„μ—λŠ” λ„€ 개의 μ •μˆ˜ x1, y1, x2, y2 κ°€ 주어지며, (x1, y1)λΆ€ν„° (x2, y2)의 합을 ꡬ해 좜λ ₯ν•΄μ•Ό ν•œλ‹€. ν‘œμ— μ±„μ›Œμ Έ μžˆλŠ” μˆ˜λŠ” 1,000보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. (x1 ≀ x2, y1 ≀ y2)

좜λ ₯

총 M쀄에 걸쳐 (x1, y1)λΆ€ν„° (x2, y2)κΉŒμ§€ 합을 ꡬ해 좜λ ₯ν•œλ‹€.

예제 μž…λ ₯

4 3
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
2 2 3 4
3 4 3 4
1 1 4 4

예제 좜λ ₯

27
6
64

[Lv. 1] 폰켓λͺ¬


당신은 폰켓λͺ¬μ„ 작기 μœ„ν•œ 였랜 μ—¬ν–‰ 끝에, 홍 λ°•μ‚¬λ‹˜μ˜ 연ꡬ싀에 λ„μ°©ν–ˆμŠ΅λ‹ˆλ‹€. 홍 λ°•μ‚¬λ‹˜μ€ λ‹Ήμ‹ μ—κ²Œ μžμ‹ μ˜ 연ꡬ싀에 μžˆλŠ” 총 N 마리의 폰켓λͺ¬ μ€‘μ—μ„œ N/2마리λ₯Ό 가져가도 μ’‹λ‹€κ³  ν–ˆμŠ΅λ‹ˆλ‹€.
홍 λ°•μ‚¬λ‹˜ μ—°κ΅¬μ‹€μ˜ 폰켓λͺ¬μ€ μ’…λ₯˜μ— 따라 번호λ₯Ό λΆ™μ—¬ κ΅¬λΆ„ν•©λ‹ˆλ‹€. λ”°λΌμ„œ 같은 μ’…λ₯˜μ˜ 폰켓λͺ¬μ€ 같은 번호λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 연ꡬ싀에 총 4마리의 폰켓λͺ¬μ΄ 있고, 각 폰켓λͺ¬μ˜ μ’…λ₯˜ λ²ˆν˜Έκ°€ [3번, 1번, 2번, 3번]이라면 μ΄λŠ” 3번 폰켓λͺ¬ 두 마리, 1번 폰켓λͺ¬ ν•œ 마리, 2번 폰켓λͺ¬ ν•œ λ§ˆλ¦¬κ°€ μžˆμŒμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ΄λ•Œ, 4마리의 폰켓λͺ¬ 쀑 2마리λ₯Ό κ³ λ₯΄λŠ” 방법은 λ‹€μŒκ³Ό 같이 6가지가 μžˆμŠ΅λ‹ˆλ‹€.

  1. 첫 번째(3번), 두 번째(1번) 폰켓λͺ¬μ„ 선택
  2. 첫 번째(3번), μ„Έ 번째(2번) 폰켓λͺ¬μ„ 선택
  3. 첫 번째(3번), λ„€ 번째(3번) 폰켓λͺ¬μ„ 선택
  4. 두 번째(1번), μ„Έ 번째(2번) 폰켓λͺ¬μ„ 선택
  5. 두 번째(1번), λ„€ 번째(3번) 폰켓λͺ¬μ„ 선택
  6. μ„Έ 번째(2번), λ„€ 번째(3번) 폰켓λͺ¬μ„ 선택

μ΄λ•Œ, 첫 번째(3번) 폰켓λͺ¬κ³Ό λ„€ 번째(3번) 폰켓λͺ¬μ„ μ„ νƒν•˜λŠ” 방법은 ν•œ μ’…λ₯˜(3번 폰켓λͺ¬ 두 마리)의 폰켓λͺ¬λ§Œ κ°€μ§ˆ 수 μžˆμ§€λ§Œ, λ‹€λ₯Έ 방법듀은 λͺ¨λ‘ 두 μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μœ„ μ˜ˆμ‹œμ—μ„œ κ°€μ§ˆ 수 μžˆλŠ” 폰켓λͺ¬ μ’…λ₯˜ 수의 μ΅œλŒ“κ°’μ€ 2κ°€ λ©λ‹ˆλ‹€.
당신은 μ΅œλŒ€ν•œ λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ 가지길 μ›ν•˜κΈ° λ•Œλ¬Έμ—, μ΅œλŒ€ν•œ λ§Žμ€ μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ ν¬ν•¨ν•΄μ„œ N/2마리λ₯Ό μ„ νƒν•˜λ € ν•©λ‹ˆλ‹€. N마리 폰켓λͺ¬μ˜ μ’…λ₯˜ λ²ˆν˜Έκ°€ λ‹΄κΈ΄ λ°°μ—΄ numsκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, N/2마리의 폰켓λͺ¬μ„ μ„ νƒν•˜λŠ” 방법 쀑, κ°€μž₯ λ§Žμ€ μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ μ„ νƒν•˜λŠ” 방법을 μ°Ύμ•„, κ·Έλ•Œμ˜ 폰켓λͺ¬ μ’…λ₯˜ 번호의 개수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • numsλŠ” 폰켓λͺ¬μ˜ μ’…λ₯˜ λ²ˆν˜Έκ°€ λ‹΄κΈ΄ 1차원 λ°°μ—΄μž…λ‹ˆλ‹€.
  • nums의 길이(N)λŠ” 1 이상 10,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ©°, 항상 짝수둜 μ£Όμ–΄μ§‘λ‹ˆλ‹€.
  • 폰켓λͺ¬μ˜ μ’…λ₯˜ λ²ˆν˜ΈλŠ” 1 이상 200,000 μ΄ν•˜μ˜ μžμ—°μˆ˜λ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  • κ°€μž₯ λ§Žμ€ μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ μ„ νƒν•˜λŠ” 방법이 μ—¬λŸ¬ 가지인 κ²½μš°μ—λ„, 선택할 수 μžˆλŠ” 폰켓λͺ¬ μ’…λ₯˜ 개수의 μ΅œλŒ“κ°’ ν•˜λ‚˜λ§Œ return ν•˜λ©΄ λ©λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
nums result
[3,1,2,3] 2
[3,3,3,2,2,4] 3
[3,3,3,2,2,2] 2
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1
문제의 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2
6마리의 폰켓λͺ¬μ΄ μžˆμœΌλ―€λ‘œ, 3마리의 폰켓λͺ¬μ„ 골라야 ν•©λ‹ˆλ‹€.
κ°€μž₯ λ§Žμ€ μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ κ³ λ₯΄κΈ° μœ„ν•΄μ„œλŠ” 3번 폰켓λͺ¬ ν•œ 마리, 2번 폰켓λͺ¬ ν•œ 마리, 4번 폰켓λͺ¬ ν•œ 마리λ₯Ό κ³ λ₯΄λ©΄ 되며, λ”°λΌμ„œ 3을 return ν•©λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #3
6마리의 폰켓λͺ¬μ΄ μžˆμœΌλ―€λ‘œ, 3마리의 폰켓λͺ¬μ„ 골라야 ν•©λ‹ˆλ‹€.
κ°€μž₯ λ§Žμ€ μ’…λ₯˜μ˜ 폰켓λͺ¬μ„ κ³ λ₯΄κΈ° μœ„ν•΄μ„œλŠ” 3번 폰켓λͺ¬ ν•œ λ§ˆλ¦¬μ™€ 2번 폰켓λͺ¬ 두 마리λ₯Ό κ³ λ₯΄κ±°λ‚˜, ν˜Ήμ€ 3번 폰켓λͺ¬ 두 λ§ˆλ¦¬μ™€ 2번 폰켓λͺ¬ ν•œ 마리λ₯Ό κ³ λ₯΄λ©΄ λ©λ‹ˆλ‹€. λ”°λΌμ„œ μ΅œλŒ€ κ³ λ₯Ό 수 μžˆλŠ” 폰켓λͺ¬ μ’…λ₯˜μ˜ μˆ˜λŠ” 2μž…λ‹ˆλ‹€.

[Lv. 1] 체윑볡


μ μ‹¬μ‹œκ°„μ— 도둑이 λ“€μ–΄, 일뢀 학생이 μ²΄μœ‘λ³΅μ„ λ„λ‚œλ‹Ήν–ˆμŠ΅λ‹ˆλ‹€. λ‹€ν–‰νžˆ μ—¬λ²Œ 체윑볡이 μžˆλŠ” 학생이 μ΄λ“€μ—κ²Œ μ²΄μœ‘λ³΅μ„ 빌렀주렀 ν•©λ‹ˆλ‹€. ν•™μƒλ“€μ˜ λ²ˆν˜ΈλŠ” 체격 순으둜 맀겨져 μžˆμ–΄, λ°”λ‘œ μ•žλ²ˆν˜Έμ˜ ν•™μƒμ΄λ‚˜ λ°”λ‘œ λ’·λ²ˆν˜Έμ˜ ν•™μƒμ—κ²Œλ§Œ μ²΄μœ‘λ³΅μ„ λΉŒλ €μ€„ 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 4번 학생은 3번 ν•™μƒμ΄λ‚˜ 5번 ν•™μƒμ—κ²Œλ§Œ μ²΄μœ‘λ³΅μ„ λΉŒλ €μ€„ 수 μžˆμŠ΅λ‹ˆλ‹€. 체윑볡이 μ—†μœΌλ©΄ μˆ˜μ—…μ„ 듀을 수 μ—†κΈ° λ•Œλ¬Έμ— μ²΄μœ‘λ³΅μ„ 적절히 빌렀 μ΅œλŒ€ν•œ λ§Žμ€ 학생이 μ²΄μœ‘μˆ˜μ—…μ„ λ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.

전체 ν•™μƒμ˜ 수 n, μ²΄μœ‘λ³΅μ„ λ„λ‚œλ‹Ήν•œ ν•™μƒλ“€μ˜ λ²ˆν˜Έκ°€ λ‹΄κΈ΄ λ°°μ—΄ lost, μ—¬λ²Œμ˜ μ²΄μœ‘λ³΅μ„ κ°€μ Έμ˜¨ ν•™μƒλ“€μ˜ λ²ˆν˜Έκ°€ λ‹΄κΈ΄ λ°°μ—΄ reserveκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, μ²΄μœ‘μˆ˜μ—…μ„ 듀을 수 μžˆλŠ” ν•™μƒμ˜ μ΅œλŒ“κ°’μ„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • 전체 ν•™μƒμ˜ μˆ˜λŠ” 2λͺ… 이상 30λͺ… μ΄ν•˜μž…λ‹ˆλ‹€.
  • μ²΄μœ‘λ³΅μ„ λ„λ‚œλ‹Ήν•œ ν•™μƒμ˜ μˆ˜λŠ” 1λͺ… 이상 nλͺ… μ΄ν•˜μ΄κ³  μ€‘λ³΅λ˜λŠ” λ²ˆν˜ΈλŠ” μ—†μŠ΅λ‹ˆλ‹€.
  • μ—¬λ²Œμ˜ μ²΄μœ‘λ³΅μ„ κ°€μ Έμ˜¨ ν•™μƒμ˜ μˆ˜λŠ” 1λͺ… 이상 nλͺ… μ΄ν•˜μ΄κ³  μ€‘λ³΅λ˜λŠ” λ²ˆν˜ΈλŠ” μ—†μŠ΅λ‹ˆλ‹€.
  • μ—¬λ²Œ 체윑볡이 μžˆλŠ” ν•™μƒλ§Œ λ‹€λ₯Έ ν•™μƒμ—κ²Œ μ²΄μœ‘λ³΅μ„ λΉŒλ €μ€„ 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ—¬λ²Œ μ²΄μœ‘λ³΅μ„ κ°€μ Έμ˜¨ 학생이 μ²΄μœ‘λ³΅μ„ λ„λ‚œλ‹Ήν–ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ 이 학생은 μ²΄μœ‘λ³΅μ„ ν•˜λ‚˜λ§Œ λ„λ‚œλ‹Ήν–ˆλ‹€κ³  κ°€μ •ν•˜λ©°, 남은 체
  • 볡이 ν•˜λ‚˜μ΄κΈ°μ— λ‹€λ₯Έ ν•™μƒμ—κ²ŒλŠ” μ²΄μœ‘λ³΅μ„ λΉŒλ €μ€„ 수 μ—†μŠ΅λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
n lost reserve return
5 [2, 4] [1, 3, 5] 5
5 [2, 4] [3] 4
3 [3] [1] 2
μž…μΆœλ ₯ 예 μ„€λͺ…

예제 #1
1번 학생이 2번 ν•™μƒμ—κ²Œ μ²΄μœ‘λ³΅μ„ 빌렀주고, 3번 ν•™μƒμ΄λ‚˜ 5번 학생이 4번 ν•™μƒμ—κ²Œ μ²΄μœ‘λ³΅μ„ 빌렀주면 학생 5λͺ…이 μ²΄μœ‘μˆ˜μ—…μ„ 듀을 수 μžˆμŠ΅λ‹ˆλ‹€.

예제 #2
3번 학생이 2번 ν•™μƒμ΄λ‚˜ 4번 ν•™μƒμ—κ²Œ μ²΄μœ‘λ³΅μ„ 빌렀주면 학생 4λͺ…이 μ²΄μœ‘μˆ˜μ—…μ„ 듀을 수 μžˆμŠ΅λ‹ˆλ‹€.

[Lv. 2] ν”„λ‘œμ„ΈμŠ€


운영체제의 μ—­ν•  쀑 ν•˜λ‚˜λŠ” 컴퓨터 μ‹œμŠ€ν…œμ˜ μžμ›μ„ 효율적으둜 κ΄€λ¦¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 λ¬Έμ œμ—μ„œλŠ” μš΄μ˜μ²΄μ œκ°€ λ‹€μŒ κ·œμΉ™μ— 따라 ν”„λ‘œμ„ΈμŠ€λ₯Ό 관리할 경우 νŠΉμ • ν”„λ‘œμ„ΈμŠ€κ°€ λͺ‡ 번째둜 μ‹€ν–‰λ˜λŠ”μ§€ μ•Œμ•„λ‚΄λ©΄ λ©λ‹ˆλ‹€.

  1. μ‹€ν–‰ λŒ€κΈ° 큐(Queue)μ—μ„œ λŒ€κΈ°μ€‘μΈ ν”„λ‘œμ„ΈμŠ€ ν•˜λ‚˜λ₯Ό κΊΌλƒ…λ‹ˆλ‹€.
  2. 큐에 λŒ€κΈ°μ€‘μΈ ν”„λ‘œμ„ΈμŠ€ 쀑 μš°μ„ μˆœμœ„κ°€ 더 높은 ν”„λ‘œμ„ΈμŠ€κ°€ μžˆλ‹€λ©΄ 방금 κΊΌλ‚Έ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ‹€μ‹œ 큐에 λ„£μŠ΅λ‹ˆλ‹€.
  3. λ§Œμ•½ 그런 ν”„λ‘œμ„ΈμŠ€κ°€ μ—†λ‹€λ©΄ 방금 κΊΌλ‚Έ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
    3.1 ν•œ 번 μ‹€ν–‰ν•œ ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€μ‹œ 큐에 넣지 μ•Šκ³  κ·ΈλŒ€λ‘œ μ’…λ£Œλ©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ ν”„λ‘œμ„ΈμŠ€ 4개 [A, B, C, D]κ°€ μˆœμ„œλŒ€λ‘œ μ‹€ν–‰ λŒ€κΈ° 큐에 λ“€μ–΄μžˆκ³ , μš°μ„ μˆœμœ„κ°€ [2, 1, 3, 2]라면 [C, D, A, B] 순으둜 μ‹€ν–‰ν•˜κ²Œ λ©λ‹ˆλ‹€.

ν˜„μž¬ μ‹€ν–‰ λŒ€κΈ° 큐(Queue)에 μžˆλŠ” ν”„λ‘œμ„ΈμŠ€μ˜ μ€‘μš”λ„κ°€ μˆœμ„œλŒ€λ‘œ λ‹΄κΈ΄ λ°°μ—΄ priorities와, λͺ‡ 번째둜 μ‹€ν–‰λ˜λŠ”μ§€ μ•Œκ³ μ‹Άμ€ ν”„λ‘œμ„ΈμŠ€μ˜ μœ„μΉ˜λ₯Ό μ•Œλ €μ£ΌλŠ” location이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€κ°€ λͺ‡ 번째둜 μ‹€ν–‰λ˜λŠ”μ§€ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • priorities의 κΈΈμ΄λŠ” 1 이상 100 μ΄ν•˜μž…λ‹ˆλ‹€.
    • priorities의 μ›μ†ŒλŠ” 1 이상 9 μ΄ν•˜μ˜ μ •μˆ˜μž…λ‹ˆλ‹€.
    • priorities의 μ›μ†ŒλŠ” μš°μ„ μˆœμœ„λ₯Ό λ‚˜νƒ€λ‚΄λ©° μˆ«μžκ°€ 클 수둝 μš°μ„ μˆœμœ„κ°€ λ†’μŠ΅λ‹ˆλ‹€.
  • location은 0 이상 (λŒ€κΈ° 큐에 μžˆλŠ” ν”„λ‘œμ„ΈμŠ€ 수 - 1) μ΄ν•˜μ˜ 값을 κ°€μ§‘λ‹ˆλ‹€.
    • priorities의 κ°€μž₯ μ•žμ— 있으면 0, 두 λ²ˆμ§Έμ— 있으면 1 … κ³Ό 같이 ν‘œν˜„ν•©λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
priorities location return
[2, 1, 3, 2] 2 1
[1, 1, 9, 1, 1, 1] 0 5
μž…μΆœλ ₯ 예 μ„€λͺ…

예제 #1

λ¬Έμ œμ— λ‚˜μ˜¨ μ˜ˆμ™€ κ°™μŠ΅λ‹ˆλ‹€.

예제 #2

6개의 ν”„λ‘œμ„ΈμŠ€ [A, B, C, D, E, F]κ°€ λŒ€κΈ° 큐에 있고 μ€‘μš”λ„κ°€ [1, 1, 9, 1, 1, 1] μ΄λ―€λ‘œ [C, D, E, F, A, B] 순으둜 μ‹€ν–‰λ©λ‹ˆλ‹€. λ”°λΌμ„œ AλŠ” 5번째둜 μ‹€ν–‰λ©λ‹ˆλ‹€.

[Lv. 2] 카펫


LeoλŠ” μΉ΄νŽ«μ„ μ‚¬λŸ¬ κ°”λ‹€κ°€ μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 μ€‘μ•™μ—λŠ” λ…Έλž€μƒ‰μœΌλ‘œ μΉ ν•΄μ Έ 있고 ν…Œλ‘λ¦¬ 1쀄은 κ°ˆμƒ‰μœΌλ‘œ μΉ ν•΄μ Έ μžˆλŠ” 격자 λͺ¨μ–‘ μΉ΄νŽ«μ„ λ΄€μŠ΅λ‹ˆλ‹€.
example1
LeoλŠ” μ§‘μœΌλ‘œ λŒμ•„μ™€μ„œ μ•„κΉŒ λ³Έ 카펫의 λ…Έλž€μƒ‰κ³Ό κ°ˆμƒ‰μœΌλ‘œ μƒ‰μΉ λœ 격자의 κ°œμˆ˜λŠ” κΈ°μ–΅ν–ˆμ§€λ§Œ, 전체 카펫의 ν¬κΈ°λŠ” κΈ°μ–΅ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

Leoκ°€ λ³Έ μΉ΄νŽ«μ—μ„œ κ°ˆμƒ‰ 격자의 수 brown, λ…Έλž€μƒ‰ 격자의 수 yellowκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ 카펫의 κ°€λ‘œ, μ„Έλ‘œ 크기λ₯Ό μˆœμ„œλŒ€λ‘œ 배열에 λ‹΄μ•„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • κ°ˆμƒ‰ 격자의 수 brown은 8 이상 5,000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
  • λ…Έλž€μƒ‰ 격자의 수 yellowλŠ” 1 이상 2,000,000 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
  • 카펫의 κ°€λ‘œ κΈΈμ΄λŠ” μ„Έλ‘œ 길이와 κ°™κ±°λ‚˜, μ„Έλ‘œ 길이보닀 κΉλ‹ˆλ‹€.
μž…μΆœλ ₯ 예
brown yellow return
10 2 [4, 3]
8 1 [3, 3]
24 24 [8, 6]

[Lv. 1] 같은 μˆ«μžλŠ” μ‹«μ–΄


λ°°μ—΄ arrκ°€ μ£Όμ–΄μ§‘λ‹ˆλ‹€. λ°°μ—΄ arr의 각 μ›μ†ŒλŠ” 숫자 0λΆ€ν„° 9κΉŒμ§€λ‘œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ, λ°°μ—΄ arrμ—μ„œ μ—°μ†μ μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” μˆ«μžλŠ” ν•˜λ‚˜λ§Œ 남기고 μ „λΆ€ μ œκ±°ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 단, 제거된 ν›„ 남은 μˆ˜λ“€μ„ λ°˜ν™˜ν•  λ•ŒλŠ” λ°°μ—΄ arr의 μ›μ†Œλ“€μ˜ μˆœμ„œλ₯Ό μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€λ©΄,

  • arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return ν•©λ‹ˆλ‹€.
  • arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return ν•©λ‹ˆλ‹€.
    λ°°μ—΄ arrμ—μ„œ μ—°μ†μ μœΌλ‘œ λ‚˜νƒ€λ‚˜λŠ” μˆ«μžλŠ” μ œκ±°ν•˜κ³  남은 μˆ˜λ“€μ„ return ν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄ μ£Όμ„Έμš”.
μ œν•œμ‚¬ν•­
  • λ°°μ—΄ arr의 크기 : 1,000,000 μ΄ν•˜μ˜ μžμ—°μˆ˜
  • λ°°μ—΄ arr의 μ›μ†Œμ˜ 크기 : 0보닀 ν¬κ±°λ‚˜ κ°™κ³  9보닀 μž‘κ±°λ‚˜ 같은 μ •μˆ˜
μž…μΆœλ ₯ 예
arr answer
[1,1,3,3,0,1,1] [1,3,0,1]
[4,4,4,3,3] [4,3]
μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1,2
문제의 μ˜ˆμ‹œμ™€ κ°™μŠ΅λ‹ˆλ‹€.

[Lv. 2] ꡬλͺ…λ³΄νŠΈ


무인도에 κ°‡νžŒ μ‚¬λžŒλ“€μ„ ꡬλͺ…λ³΄νŠΈλ₯Ό μ΄μš©ν•˜μ—¬ κ΅¬μΆœν•˜λ €κ³  ν•©λ‹ˆλ‹€. ꡬλͺ…λ³΄νŠΈλŠ” μž‘μ•„μ„œ ν•œ λ²ˆμ— μ΅œλŒ€ 2λͺ…μ”© 밖에 νƒˆ 수 μ—†κ³ , 무게 μ œν•œλ„ μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ‚¬λžŒλ“€μ˜ λͺΈλ¬΄κ²Œκ°€ [70kg, 50kg, 80kg, 50kg]이고 ꡬλͺ…λ³΄νŠΈμ˜ 무게 μ œν•œμ΄ 100kg이라면 2번째 μ‚¬λžŒκ³Ό 4번째 μ‚¬λžŒμ€ 같이 νƒˆ 수 μžˆμ§€λ§Œ 1번째 μ‚¬λžŒκ³Ό 3번째 μ‚¬λžŒμ˜ 무게의 합은 150kgμ΄λ―€λ‘œ ꡬλͺ…λ³΄νŠΈμ˜ 무게 μ œν•œμ„ μ΄ˆκ³Όν•˜μ—¬ 같이 νƒˆ 수 μ—†μŠ΅λ‹ˆλ‹€.

ꡬλͺ…λ³΄νŠΈλ₯Ό μ΅œλŒ€ν•œ 적게 μ‚¬μš©ν•˜μ—¬ λͺ¨λ“  μ‚¬λžŒμ„ κ΅¬μΆœν•˜λ €κ³  ν•©λ‹ˆλ‹€.

μ‚¬λžŒλ“€μ˜ λͺΈλ¬΄κ²Œλ₯Ό 담은 λ°°μ—΄ peopleκ³Ό ꡬλͺ…λ³΄νŠΈμ˜ 무게 μ œν•œ limitκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, λͺ¨λ“  μ‚¬λžŒμ„ κ΅¬μΆœν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ ꡬλͺ…λ³΄νŠΈ 개수의 μ΅œμ†Ÿκ°’μ„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ£Όμ„Έμš”.

μ œν•œμ‚¬ν•­
  • 무인도에 κ°‡νžŒ μ‚¬λžŒμ€ 1λͺ… 이상 50,000λͺ… μ΄ν•˜μž…λ‹ˆλ‹€.
  • 각 μ‚¬λžŒμ˜ λͺΈλ¬΄κ²ŒλŠ” 40kg 이상 240kg μ΄ν•˜μž…λ‹ˆλ‹€.
  • ꡬλͺ…λ³΄νŠΈμ˜ 무게 μ œν•œμ€ 40kg 이상 240kg μ΄ν•˜μž…λ‹ˆλ‹€.
  • ꡬλͺ…λ³΄νŠΈμ˜ 무게 μ œν•œμ€ 항상 μ‚¬λžŒλ“€μ˜ λͺΈλ¬΄κ²Œ 쀑 μ΅œλŒ“κ°’λ³΄λ‹€ 크게 μ£Όμ–΄μ§€λ―€λ‘œ μ‚¬λžŒλ“€μ„ κ΅¬μΆœν•  수 μ—†λŠ” κ²½μš°λŠ” μ—†μŠ΅λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
people limit return
[70, 50, 80, 50] 100 3
[70, 80, 50] 100 3

[Lv. 3] λ„€νŠΈμ›Œν¬


λ„€νŠΈμ›Œν¬λž€ 컴퓨터 μƒν˜Έ 간에 정보λ₯Ό κ΅ν™˜ν•  수 μžˆλ„λ‘ μ—°κ²°λœ ν˜•νƒœλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 컴퓨터 A와 컴퓨터 Bκ°€ μ§μ ‘μ μœΌλ‘œ μ—°κ²°λ˜μ–΄μžˆκ³ , 컴퓨터 B와 컴퓨터 Cκ°€ μ§μ ‘μ μœΌλ‘œ μ—°κ²°λ˜μ–΄ μžˆμ„ λ•Œ 컴퓨터 A와 컴퓨터 C도 κ°„μ ‘μ μœΌλ‘œ μ—°κ²°λ˜μ–΄ 정보λ₯Ό κ΅ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 컴퓨터 A, B, CλŠ” λͺ¨λ‘ 같은 λ„€νŠΈμ›Œν¬ 상에 μžˆλ‹€κ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ»΄ν“¨ν„°μ˜ 개수 n, 연결에 λŒ€ν•œ 정보가 λ‹΄κΈ΄ 2차원 λ°°μ—΄ computersκ°€ λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, λ„€νŠΈμ›Œν¬μ˜ 개수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μž‘μ„±ν•˜μ‹œμ˜€.

μ œν•œμ‚¬ν•­
  • μ»΄ν“¨ν„°μ˜ 개수 n은 1 이상 200 μ΄ν•˜μΈ μžμ—°μˆ˜μž…λ‹ˆλ‹€.
  • 각 μ»΄ν“¨ν„°λŠ” 0λΆ€ν„° n-1인 μ •μˆ˜λ‘œ ν‘œν˜„ν•©λ‹ˆλ‹€.
  • i번 컴퓨터와 j번 컴퓨터가 μ—°κ²°λ˜μ–΄ 있으면 computers[i][j]λ₯Ό 1둜 ν‘œν˜„ν•©λ‹ˆλ‹€.
  • computer[i][i]λŠ” 항상 1μž…λ‹ˆλ‹€.
μž…μΆœλ ₯ 예
n computers return
3 [[1, 1, 0], [1, 1, 0], [0, 0, 1]] 2
3 [[1, 1, 0], [1, 1, 1], [0, 1, 1]] 1
μž…μΆœλ ₯ 예 μ„€λͺ…

예제 #1
μ•„λž˜μ™€ 같이 2개의 λ„€νŠΈμ›Œν¬κ°€ μžˆμŠ΅λ‹ˆλ‹€.
example1

예제 #2
μ•„λž˜μ™€ 같이 1개의 λ„€νŠΈμ›Œν¬κ°€ μžˆμŠ΅λ‹ˆλ‹€.
example2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.