algorithm shell sort - andstudy/forge GitHub Wiki

CynicJJ

  • κ°„λ§Œμ— κΉ”λ”νžˆ ν’€λ €μ„œ 기뢄이 μ’‹λ‹€

      Public Class ShellSort
      
      	Function GetMovingOrder(ByVal originalOrder As List(Of String), ByVal desiredOrder As List(Of String)) As List(Of String)
      		Dim original As New List(Of String)(originalOrder)
      		original.Reverse()
      		Dim desired As New List(Of String)(desiredOrder)
      		desired.Reverse()
      
      		Dim movedCount As Integer
      		Dim i As Integer
      		While i < original.Count - 1
      			If original(i) <> desired(i) Then
      				movedCount += 1
      				original.RemoveAt(i)
      			Else
      				i += 1
      			End If
      		End While
      
      		Dim result As List(Of String) = desiredOrder.GetRange(0, movedCount)
      		result.Reverse()
      		Return result
      	End Function
      
      End Class
    

Outbreak

문제 μš”μ•½

  • μ£Όμ–΄μ§„ μˆœμ„œλŒ€λ‘œ μŠ€νƒμ„ μ •λ ¬ν•˜κΈ°

문제 ν•΄κ²°

  • 잘λͺ»λœ 생각
    • μ•„λž˜μ„œλΆ€ν„° μœ„λ‘œ μ˜¬λΌκ°€λ©΄μ„œ μ£Όμ–΄μ§„ μˆœμ„œμ˜ μŠ€νƒμ΄ λ§žλŠ”μ§€ 확인
    • μ•„λ‹ˆλ©΄ ν•΄λ‹Ή μŠ€νƒμ„ μœ„λ‘œ 올림
    • μœ„λ₯Ό λ°˜λ³΅ν•¨.
  • κ°„λ‹¨ν•˜κ²Œ μƒκ°ν–ˆλ‹€κ°€ λ‚­νŒ¨λ₯Ό λ΄„..
    • 'μ΅œμ†ŒνšŸμˆ˜'λ₯Ό κ³ λ €ν•˜μ§€ μ•Šμ•˜μ—ˆμŒ

μ†Œκ°

  • 이전에 ν’€μ–΄λ΄€λ˜ 거라.. λ‹€μ‹œ ν’€μ§€ μ•ŠμŒ. ^^;
  • λΈŒλ ˆμΈμŠ€ν† λ° μ‹œ, μ˜ˆμ „κ³Ό λ˜‘κ°™μ΄ '잘λͺ»λœ 생각'을 ν–ˆλ„€μš”..
  • 이 문제λ₯Ό κ³ λ₯Έ μ΄μœ λŠ” 'μ‹€μ œλ‘œ 어디에 ν™œμš©ν•˜λ©΄ 쒋을지' μ‘μš© λΆ„μ•Όλ₯Ό μ•Œμ•„λ³΄λ©΄ 쒋을 것 κ°™μ•„μ„œ μ˜€μŠ΅λ‹ˆλ‹€.
  • μ‹±κΈ€ λ§ν¬λ“œ 리슀트λ₯Ό μ£Όμ–΄μ§„ μˆœμ„œλ‘œ μ •λ ¬ν•  λ•Œ μ“Έλ§Œ ν•  것 κ°™μ•„μš”.

풀이

     // μ—†μŒ γ…‹γ…‹γ…‹