지역변수를 사용하지 않는 이유와 그에 따른 장점

itisny·2024년 1월 2일
0

프로그래머스에서 두 수의 나눗셈이라는 코딩테스트 문제를 풀다가 다른 사람의 풀이에서 다음과 같은 질문을 봤습니다.

def solution(num1, num2):
    return int(num1 / num2 * 1000)

이 코드에선 지역변수 answer를 활용하지 않았는데요, 혹시 지역변수가 없으면 좋은 점이 있을까요?

저는 두 수의 나눗셈 문제에서는 가독성 측면에서 지역변수 answer를 사용하지 않아도 될 것으로 판단하여, 별도로 선언하고 활용하지 않았습니다. 그러나 다른 이유에 대해 깊이 생각해보지는 않았습니다. 이 질문에 대한 답변은 아래와 같습니다.

변수를 저장하기 위해선 비용이 듭니다. 비용이 늘면 시스템 성능의 저하가 올 수 있습니다.
또한, 함수화 된 코드는 굳이 변수에 담지 않더라도 return 값으로 주면, 차후에 x = solution(someting) 같은 형태로 불러와서 사용이 가능하니, 재사용이 없는 함수 내 지역변수는 굳이 변수에 담지 않는 것을 추천합니다.

변수를 저장하기 위해선 비용이 듭니다. 비용이 늘면 시스템 성능의 저하가 올 수 있습니다.
→ 변수를 저장하기 위해서는 메모리 공간을 할당하는 작업이 필요합니다. 변수를 많이 사용하거나 큰 크기의 변수를 사용할수록 메모리 사용량이 증가하고, 이는 시스템 성능에 저하를 가져올 수 있습니다. 메모리는 제한된 자원이므로 효율적으로 사용하는 것이 중요합니다. 계산 결과를 단 한 번만 사용하고 더 이상 필요하지 않을 때, 지역변수를 사용하지 않고 바로 값을 활용하는 것이 효율적입니다.

또한, 함수화 된 코드는 굳이 변수에 담지 않더라도 return 값으로 주면, 차후에 x = solution(someting) 같은 형태로 불러와서 사용이 가능하니, 재사용이 없는 함수 내 지역변수는 굳이 변수에 담지 않는 것을 추천합니다.
→ 함수화된 코드에서는 함수의 반환값을 활용하여 변수에 담지 않고도 결과값을 활용할 수 있습니다. 예를 들어, x = solution(something) 같이 함수를 호출하고 반환값을 변수에 할당함으로써 나중에 해당 값을 사용할 수 있습니다. 이런 방식을 통해 재사용이 없는 함수 내부의 지역변수는 굳이 변수에 담지 않아도 됩니다.

[요약]
1. 지역변수를 사용하지 않으면 변수 저장 비용이 절약됩니다.
2. 변수 저장 비용이 줄어들면 시스템 성능이 향상될 수 있습니다.
3. 함수화된 코드에서는 굳이 변수에 담지 않더라도 return 값으로 반환 가능합니다.

0개의 댓글