[TIL] 2020/11/1

yongkini ·2020년 11월 1일
0

Today I Learned

목록 보기
70/173

Today, I Learned


  • Toy 28번 문제 clear(시간 초과문제 해결)
    Toy 28번 시간 초과문제 해결. 완전 탐색 알고리즘을 만들었을 때 시간 초과문제가 발생해서 경로 탐색에 있어서 어차피 탐색해봤자 맞지 않는 길을 탐색하는 케이스들을 조건문을 걸어서 걸러냈다. 
    알고리즘 문제는 일단 내가 이 문제를 실제 맞닥드렸다면 어떻게 해결했을까를 생각해보면 좋은 것 같다. 
    이번 문제를 예로 들어보면, A->B로 가는 경로를 찾을 때(모든 경로), 사람이라면 처음 보는 길을 일단 출발해서 갈래길이 나오면 일단 한쪽을 선택해서 쭉가보고, 가다가 막히면 돌아오고, 도착하면 그 길을 경로 중에 하나로 인식할 것이다. 
    여기서 나아가서, 자기가 걸어온 경로를 종이 적어가면서 찾는 것이다. 그러면 이미 왔던 경로는 가지 않을 것이고, 까먹지 않고, 일정한 순서대로 모든 경로를 찾을 수 있다. 
    이렇게 모든 경로를 찾은 다음에는 시야가 넓어졌을 것이기에 좀 더 효율적인 경로 탐색 알고리즘을 알아낼 수 있다. 
    이번의 경우 특정 포인트에 도착했을 때, 왼쪽으로 가면 벽이기 때문에 다시 돌아올 수 없다는 점을 이용해서 그 부분에 가서는 왼쪽으로 이동하지 않는 룰을 더한다. 
    이런식으로 어떻게 하면 좀 더 효율적으로 알고리즘을 설계할 수 있을까를 고민하면 점점 더 좋은 것을 찾을 수 있고, 굳이 경로를 직접 걸어보지 않아도 어떤 공식 만으로도 경우의 수를 찾을 수 있게 될 수 있을지도 모른다.
  • 알고리즘 33번 문제.. 엑셀에서 특정 조건을 바탕으로 정렬한 뒤에 그 정렬한 상태에서 추가적인 조건으로 정렬된 상태 내에서 즉, 동일한 순위 내에서 또다른 조건으로 한번더 정렬을 시키는 기능과 같은 것을 구현하는 문제. 일단 풀긴 풀었지만 너무 중구난방(?)으로 푼 것 같다. 좀 더 효율적인 정답을 찾아보자.

Planning to Study


  • 내일은 마지막 HA를 보는날이다. 침착하게 하던대로!
profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글