소프트웨어 개발/Scala - Functional

[스칼라 알고리즘] 단순 원소 바꾸기, 배열 회전

늘근이 2015. 6. 3. 21:49

단순 원소 바꾸기는 포인터가 불가능하기 때문에, 그저 원소를 바꿔 리턴해주는 함수로 바꾸겠다.


//그저 인자를 바꿔서 리턴해주는 함수


  def swapArr (arr : Array[Int], i : Int, j : Int) : Array[Int] = {

 


    val temp = arr(i)

    arr(i) = arr(j)

    arr(j) = temp


 

    return arr


   


  }//end swapArr


그리고 배열을 회전시키는 간단한 메서드의 경우에는 다음과 같이 거꾸로 돌아갈수도 있다.

즉 for문에 대한 10 to 1 by -1 을 써주면 10에서 1로 거꾸로 세는것이다. 아주 간편하다.


//인자를 하나를 끼워넣는 함수

   def rightRotate (arr : Array[Int], s : Int, t : Int) : Array[Int] = {

    

     val last = arr(t)

     for (i <- (t to s by -1)) arr(i) = arr(i-1)

     arr(s) = last

    

     return arr

    

   }//end rightRotate



'소프트웨어 개발 > Scala - Functional' 카테고리의 다른 글

Scala 문자열과 일치 여부  (0) 2016.07.30
[참고자료] fork in run  (0) 2015.12.28
spark-scala 를 이용한 wordcount 예제  (3) 2015.05.31
스칼라 flatmap 사용법  (0) 2015.05.31
Spark 설치, 이용하기  (2) 2015.05.31