✍️ μ½”ν…Œ μ€€λΉ„/Two Pointer

[νˆ¬ν¬μΈν„° / Kotlin] BOJ 1644 - μ†Œμˆ˜μ˜ 연속합

2021. 12. 27. 01:15
λͺ©μ°¨
  1. 문제
  2. μž…λ ₯
  3. 좜λ ₯
  4. ν•΄κ²° 방법
  5. 성곡

문제

ν•˜λ‚˜ μ΄μƒμ˜ μ—°μ†λœ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” μžμ—°μˆ˜λ“€μ΄ μžˆλ‹€. λͺ‡ κ°€μ§€ μžμ—°μˆ˜μ˜ 예λ₯Ό λ“€μ–΄ 보면 λ‹€μŒκ³Ό κ°™λ‹€.

  • 3 : 3 (ν•œ κ°€μ§€)
  • 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (μ„Έ κ°€μ§€)
  • 53 : 5+7+11+13+17 = 53 (두 κ°€μ§€)

ν•˜μ§€λ§Œ μ—°μ†λœ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μ—†λŠ” μžμ—°μˆ˜λ“€λ„ μžˆλŠ”λ°, 20이 κ·Έ μ˜ˆμ΄λ‹€. 7+13을 κ³„μ‚°ν•˜λ©΄ 20이 λ˜κΈ°λŠ” ν•˜λ‚˜ 7κ³Ό 13이 연속이 μ•„λ‹ˆκΈ°μ— μ ν•©ν•œ ν‘œν˜„μ΄ μ•„λ‹ˆλ‹€. λ˜ν•œ ν•œ μ†Œμˆ˜λŠ” λ°˜λ“œμ‹œ ν•œ 번만 λ§μ…ˆμ— μ‚¬μš©λ  수 있기 λ•Œλ¬Έμ—, 3+5+5+7κ³Ό 같은 ν‘œν˜„λ„ μ ν•©ν•˜μ§€ μ•Šλ‹€.

μžμ—°μˆ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 이 μžμ—°μˆ˜λ₯Ό μ—°μ†λœ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” 경우의 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯

첫째 쀄에 μžμ—°μˆ˜ N이 μ£Όμ–΄μ§„λ‹€. (1 ≀ N ≀ 4,000,000)

좜λ ₯

첫째 쀄에 μžμ—°μˆ˜ N을 μ—°μ†λœ μ†Œμˆ˜μ˜ ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆλŠ” 경우의 수λ₯Ό 좜λ ₯ν•œλ‹€.

ν•΄κ²° 방법

이전 λ¬Έμ œμ˜€λ˜ 1806. λΆ€λΆ„ ν•© (클릭) λ¬Έμ œμ™€ 거의 λ™μΌν•˜λ‹€. μ’€ 달라진 점이 μžˆλ‹€λ©΄ μž…λ ₯ 값보닀 μž‘μ€ μ†Œμˆ˜λ₯Ό λ¨Όμ € μ°Ύμ•„μ•Όν•œλ‹€λŠ” 점이닀.

1. μ—λΌν† μŠ€μ˜ 체 λ₯Ό ν™œμš©ν•˜μ—¬ μž…λ ₯ 값보닀 μž‘μ€ μ†Œμˆ˜λ₯Ό λͺ¨λ‘ μ°ΎλŠ”λ‹€.

2. left , right λ₯Ό ν™œμš©ν•˜μ—¬ λΆ€λΆ„ 합을 κ³„μ‚°ν•œλ‹€.

3. λ§Œμ•½ λΆ€λΆ„ 합이 μž…λ ₯ 값보닀 μž‘κ±°λ‚˜ 같은 경우 left 의 값을 λΆ€λΆ„ ν•©μ—μ„œ λΉΌμ£Όκ³  ν•œ μΉΈ μ΄λ™ν•œλ‹€.

4. 3λ²ˆμ—μ„œ λ§Œμ•½ λΆ€λΆ„ 합이 μž…λ ₯ κ°’κ³Ό 같은 κ²½μš°μ—λŠ” 이λ₯Ό 카운트 ν•΄μ€€λ‹€.

이전 λ¬Έμ œμ™€ λ‘œμ§μ€ 거의 μΌμΉ˜ν•œλ‹€. ν•œλ²ˆμ— ν†΅κ³Όν–ˆλ‹€. 자러 κ°€μ•Όκ² λ‹€...

성곡

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'✍️ μ½”ν…Œ μ€€λΉ„ > Two Pointer' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[νˆ¬ν¬μΈν„° / Kotlin] BOJ 1806 - λΆ€λΆ„ ν•©  (0) 2021.12.26
[νˆ¬ν¬μΈν„° / Kotlin] BOJ 2470 - 두 μš©μ•‘  (0) 2021.12.25
[νˆ¬ν¬μΈν„° / Kotlin] BOJ 3273 - 두 수의 ν•©  (0) 2021.12.25
  1. 문제
  2. μž…λ ₯
  3. 좜λ ₯
  4. ν•΄κ²° 방법
  5. 성곡
'✍️ μ½”ν…Œ μ€€λΉ„/Two Pointer' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [νˆ¬ν¬μΈν„° / Kotlin] BOJ 1806 - λΆ€λΆ„ ν•©
  • [νˆ¬ν¬μΈν„° / Kotlin] BOJ 2470 - 두 μš©μ•‘
  • [νˆ¬ν¬μΈν„° / Kotlin] BOJ 3273 - 두 수의 ν•©
kodo_o
kodo_o
iOS κΏ€μžΌ!
kodo_o
🍎🍏
kodo_o
전체
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (149)
    • πŸ”¨ ν”„λ‘œμ νŠΈ (0)
      • TP 1 (0)
      • WhiteHCCTV (0)
      • FootPrint (0)
    • πŸ’» 개발 (63)
      • iOS (30)
      • Android (6)
      • Kotlin (4)
      • Flutter (9)
      • Node.js (5)
      • Architecture (1)
      • 였늘의 μ‚½μ§ˆ (7)
      • μ—λŸ¬μ™€μ˜ 동침 (1)
    • ✏️ μ•Œκ³ λ¦¬μ¦˜ (6)
      • Graph (6)
      • String (0)
      • Sort (0)
    • ✍️ μ½”ν…Œ μ€€λΉ„ (44)
      • Math (1)
      • Implementation (3)
      • String (3)
      • Brute Force (5)
      • Back Tracking (7)
      • Greedy (0)
      • Dynamic Programming (13)
      • Binary Search (1)
      • DFS, BFS (5)
      • Shortest Path (2)
      • Two Pointer (4)
      • MST (0)
    • πŸ“š CS (6)
      • Operating System (6)
    • ⛹️ 라이프 (30)
      • 2020 κ²¨μšΈλ°©ν•™ λͺ¨κ°μ½”(개인) (12)
      • 2021 여름방학 λͺ¨κ°μ½”(개인) (6)
      • μ½”λ”© ν…ŒμŠ€νŠΈ (1)
      • 회고 (10)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • κΉƒν—ˆλΈŒ

인기 κΈ€

졜근 κΈ€

졜근 λŒ“κΈ€

hELLO Β· Designed By μ •μƒμš°.
kodo_o
[νˆ¬ν¬μΈν„° / Kotlin] BOJ 1644 - μ†Œμˆ˜μ˜ 연속합
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.