가변 인자(variable-length argument)는 함수에 임의의 개수의 인자를 전달할 수 있게 해주는 기능입니다. Python에서는 * 기호를 사용하여 가변 인자를 함수에 전달할 수 있습니다.
예를 들어, 여러 개의 숫자를 인자로 받아 그 합을 반환하는 함수를 작성하려면 가변 인자를 사용할 수 있습니다.
def sum_numbers(*numbers):
return sum(numbers)
위 함수는 임의의 개수의 숫자를 인자로 받아 그 합을 반환합니다.
print(sum_numbers(1, 2, 3)) # 결과: 6
print(sum_numbers(1, 2, 3, 4, 5)) # 결과: 15
print(sum_numbers(10, 20)) # 결과: 30
*numbers는 함수에 전달된 모든 위치 인자를 튜플로 포장합니다. 그리고 sum() 함수는 이 튜플의 모든 요소의 합을 계산합니다.
가변 인자는 함수를 더 유연하게 만들어 주며, 특정한 수의 인자를 가진 함수보다 여러 상황에서 사용할 수 있습니다.
ㄴ 변수를 저장하기 위해선 비용이 듭니다. 비용이 늘면 시스템 성능의 저하가 올 수 있습니다.
ㄴ 또한 함수화 된 코드는 굳이 변수에 담지 않더라도 return 값으로 주면, 차후에 x = solution(someting) 같은 형태로 불러와서 사용이 가능하니, 재사용이 없는 함수 내 지역변수는 굳이 변수에 담지 않는 것을 추천합니다.
ㄴ 비슷한 이유로 짧을수록 좋은코드인 이유입니다.
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
예각 : 0 < angle < 90
직각 : angle = 90
둔각 : 90 < angle < 180
평각 : angle = 180
def solution(angle):
answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
return answer
answer 변수를 계산하는 데에는 두 가지 주요 부분이 있습니다.
(angle // 90) 2:
angle // 90: 각도를 90으로 나눈 몫을 계산합니다. 예를 들어, 180도면 결과는 2, 270도면 결과는 3이 됩니다.
몫을 2로 곱합니다. 따라서, 180도는 4, 270도는 6이 됩니다.
(angle % 90 > 0) 1:
angle % 90: 각도를 90으로 나눈 나머지를 계산합니다.
angle % 90 > 0: 나머지가 0보다 큰지 확인합니다. 만약 나머지가 있다면, 이 값은 True가 되고, 그렇지 않다면 False가 됩니다.
True는 1로, False는 0으로 평가됩니다. 따라서, 나머지가 있으면 1을 더하고, 없으면 0을 더합니다.
물론, 노션을 사용한 이력서가 인기있고 독창적으로 보일 수 있지만, 실제로 이력서를 검토하는 사람들에게는 여러 어려움이 있습니다. 주요 문제점은 다음과 같습니다
대량 검토의 어려움:
이력서 검토자는 하나 또는 두 개의 이력서를 검토하는 것이 아니라 수십, 수백 개의 이력서를 검토해야 합니다.
비표준 형식:
노션 이력서는 자유로운 형식을 가지므로 일관성이 없고, 한 번에 정보를 파악하기 어렵습니다.
웹 이동의 번거로움:
웹 사이트 방문이 필요하며, 로딩 시간이 있을 수 있습니다. 여러 페이지로 구성된 경우, 네비게이션이 불편합니다.
접근 제한:
일부 이력서는 비공개 설정이 되어 있어 추가적인 검토가 불가능합니다.
서류 통과 영향:
검토가 어려운 이력서는 통과 확률이 낮아질 수 있습니다. 일부 검토자는 노션 이력서를 우선적으로 건너뛸 수 있습니다.
이력서는 결국 검토자를 위한 제품이며, 표준적인 형식을 따르는 것이 중요합니다. 추가 정보는 이력서 내에 포함시키는 것이 좋으며, 파일 형식은 PDF를 추천합니다.
래퍼런스
커리어리 , 골빈해커