fineman999 / Algorithm

알고리즘 공부
0 stars 0 forks source link

1987번: 알파벳 #180

Closed fineman999 closed 1 year ago

fineman999 commented 1 year ago

1987번: 알파벳

fineman999 commented 1 year ago

dfs로 코드를 작성하면 파이썬은 시간초과 추가로 알파벳으로 그래프가 주어질시 ord를 통해 아스키코드로 변환시키고 탐색을 하면 좀 더 빨라진다.

fineman999 commented 1 year ago

bfs 풀이 이전에 탐색했던 위치를 set에 저장함으로써 중복을 피할 수 있다. 또한 문자를 이용하여 중복이 아니면 해당 문자를 문자열에 추가한다. 그리고 각 루프를 돌때마다 해당 값이 최대값인지 비교한다.

fineman999 commented 1 year ago

해당 코드는 python3은 통과하지만 pypy는 통과 실패 이유:

PyPy3에서는 실행시, 자주 쓰이는 코드를 캐싱하는 기능이 있기 때문에 ,

즉 메모리를 조금 더 사용하여 그것들을 저장하고 있어, 실행속도를 개선할 수 있다는 것이기 때문에,

간단한 코드상에서는 Python3가 메모리, 속도 측에서 우세할 수 있는 것이고,

복잡한 코드(반복)을 사용하는 경우에서는 PyPy3가 우세하기 때문에

> 코드 상황에 맞추어 두 구현체(PyPy3, Python3)를 적절하게 사용하는 것이 효율적이라고 할 수 있다.