-
무엇이 추구해야 할 방향인가?개발자의 길/Algorithm 2021. 3. 10. 16:50
https://programmers.co.kr/learn/courses/30/lessons/12904
코딩테스트 연습 - 가장 긴 팰린드롬
앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들
programmers.co.kr
내 풀이: https://github.com/mathncode/solving-algo-daily/blob/main/weekly/2020-03-weekly1.py
다른 분 풀이:
내 풀이의 접근은 펠린드롬인 부분 문자열만 찾아내어 그 부분 문자열마다 길이를 계산한다.
다른 분 풀이는 모든 부분 문자열을 리스트에 담아 놓고, 리스트에서 한 개씩 꺼내 펠린드롬인지 확인한다.
내가 코드 구현 능력이 아직 부족하므로 코드가 난잡할 수 있다. 하지만 코드가 좀 길어도 내 접근이 더 효율적인 방법이라고 생각한다. 반대로 다른 분 풀이는 코드가 간결하다.
어느 게 맞는가가 아니라 앞으로 코드를 짜고 공부하는 데 있어서 어느 방향을 추구해야 하는지 궁금하다.
물론 가장 좋은 건 간결하고 효율성 높은 코드이다.
궁금해서 내 풀이 코드와 위에 다른 풀이 코드를 비교했다.
결과는 위 다른 풀이는 정확성은 다 통과했지만 효율성에서 0점이었다. 아마도 예전 문제라 예전 풀이가 남아 있는 게 아닌가 싶다.
'개발자의 길 > Algorithm' 카테고리의 다른 글
약수의 합 (프로그래머스, 레벨1), 양의 약수의 합 공식 (0) 2021.03.17 큰 수 만들기 (프로그래머스, 레벨2) (0) 2021.03.12 '하나씩 세는 것이 강력한 방법이다' (0) 2021.03.04 카톡 스터디 시작(알고리즘 매일 한 문제 풀기) (0) 2021.03.01 무지의 먹방 라이브(2019 카카오 공채) (0) 2020.09.10