두 변수의 값 서로 바꾸기
dev | 2023-06-03
프로그래밍 커리큘럼 초기에 나오는 주제다. 보통 임시 변수를 쓴다. temp에 a를 넣고 a에 b를 넣고 b에 temp를 넣는 식이다. 숫자라면 임시 변수 없이도 가능한데, 더했다 빼거나, 곱했다 나누기, 또는 XOR 연산을 사용할 수 있다.
이게 궁금했던 것은 아니고 아름다운 방법은 없나 찾아봤는데 구조 분해(destructuring)를 쓰면 한줄에 처리할 수 있다.
// JavaScript
[a, b] = [b, a];다른 언어도 찾아봤다. 요즘 언어들은 대부분 각자의 방법으로 기능을 제공하고 있다.
# Python, Ruby, Go
a, b = b, a// PHP
[$a, $b] = [$b, $a];// C#
(a, b) = (b, a);// Swift
(a, b) = (b, a)// Kotlin
a = b.also { b = a }// Rust
let (a, b) = (b, a);다 돌려본거는 아니다.
Comments
PHP… ㅋㅋ
php도 더 적은타이핑으로 가능합니다. [$a, $b] = [$b, $a];
김진원님 알려주셔서 감사합니다. 본문을 수정했습니다.