Loading...
2023. 8. 13. 00:48

시간을 줄이는 테크닉 - 파이썬에서 함수형 코드를 적극적으로 활용해야하는 이유(+ if __name__ == "__main__"의 활용?)

알고리즘 문제를 풀다보면, 함수형 코드로 작성하는데 시간안에 통과하지만, 그렇지 않았을때 시간 초과나는 경우가 있다 기분탓인줄 알았는데 17467번: N! mod P (2) (acmicpc.net) 17467번: N! mod P (2) 양의 정수 N과, N보다 큰 소수 P가 주어질 때, N!을 P로 나눈 나머지를 구하여라. www.acmicpc.net 이렇게 쓰면 통과를 못하는데 n,p = map(int,input().split()) if n == p-1: answer = p-1 elif n > p - n: answer = 1 for i in range(n+1,p-1): result *= i result %= p answer = pow(answer,p-2,p) else: answer = 1 for i i..

2022. 2. 17. 20:23

파이썬의 지역변수와 전역변수

지역변수는 함수 내부에서만 사용되는 변수 전역변수는 프로그램 전체에서 사용되는 변수 함수 내부에서 전역변수임을 명시하고 싶으면 global문을 사용함  global 변수 x=10은 test함수내에서 print(x)해도 여전히 10을 가리키므로 10을 출력 함수 내 t=20은 지역변수이므로 함수내에서 20을 출력하고 밖으로 나가면 소멸 따라서 밖에서 사용하면 print(t)하면 에러남 x=10을 test함수에 전달하면서 t가 10을 가리키는데 t=20으로 재할당하면서 새로운 변수가 생성되는거(call by object reference)  특별히 명시하지 않으면 변수명이 같아도 함수내에선 지역변수 함수밖에선 전역변수 원칙 f()에 의해 지역변수 s 값이 먼저 출력되고 이..