스와핑
- 알고리즘/코테 알고리즘 정리 노트
- 2020. 9. 10. 12:47
반응형
반응형
스와핑이라는게 도대체 뭘까?
swap 뭘 바꾼다는 말일까?
다양한 프로그래밍언어에서 스와핑 방식을 지원한다고 한다. 하지만 c나 자바같은 언어는 이 방식을 지원되지 않는다. 그렇다고 스와핑을 하지 못하는것은 아니다.
왜냐하면 스와핑이라는게 그리 어렵지만은 않기 때문이다.
이 두개의 상자에는 물감이 들어있다고 가정하자. 물감은 서로 잘 섞이기 때문에 함부로 옮겨담을 수 는 없다. 이 물감은 특이하게 나중에 들어온 물감이 더 강력하다. 즉, 주황색 상자에 파란물감을 부으면 파란색이된다.
그런데 상자 두개안에 들어있는 물감의 위치를 바꾸고 싶어졌다. (단, 위치는 바꾸지 못한다.)
라는 문제가 존재한다고 하자. 그러면 어떤 방법을 사용해야 물감을 잘 옮길 수 있을까?
바로 비어있는 상자를 준비해서 하나의 색깔을 그곳에 담아 사용하면 될것 같다.
물론 비어있는 상자가 더 이상 비어있지 않게 되었지만 필요 없으므로 버리면 된다.
이게 바로 스와핑이다.
프로그래밍 상에서도 이처럼 동작한다.
나중애 들어온 값이 먼저 들어온 값보다 우선순위가 더 높기? 때문에 스와핑 방식을 사용하면 두개의 값을 바꿀 수 있다.
반응형
'알고리즘 > 코테 알고리즘 정리 노트' 카테고리의 다른 글
다이나믹 프로그래밍 (1) (0) | 2020.09.20 |
---|---|
자바 조합(combination) 정리 (0) | 2020.09.17 |
선택 정렬 (0) | 2020.09.10 |
dfs/bfs 정리(3) (0) | 2020.09.07 |
dfs/bfs 정리(2) (0) | 2020.09.04 |