본문 바로가기

개발 공부

(18)
[Programmers] '피보나치 수'를 푸는 세 가지 방법 https://programmers.co.kr/learn/courses/30/lessons/12945 피보나치 수를 구하는 문제는 보통 재귀로 푸는데 프로그래머에서 그렇게 하면 걍 틀린다! 시간초과도 나고 런타임 에러도 난다. (그건 바로 나 ^^) 피보나치 수를 구하는 문제에는 3가지 방법이 있다! 1. Recursion 첫 번째 방법은 우리가 일반적으로 알고 있는 재귀를 이용한 풀이! 아래처럼 간단하게 풀 수 있다. 너무나도 간단하고 직관적이라 좋아보이지만 사실 그렇지는 않다. 한 함수에서 두 개의 함수를 호출하여 호출이 2배씩 늘어나기 때문에 시간 복잡도가 O(2^N)정도가 나온다. 좀 더 줄일 수 있는 방법을 찾아보자 ! 프로그래머스에서는 테스트 7부터 시간초과, 테스트 13부터 런타임 에러가 떴..
[BOJ] 1254 팰린드롬 만들기 날 너무 빡치게 한 팰린드롬을 내 머릿속에 각인 시키기 위해서 첫 게시글을 찐다. 일단 난 못 풀어서 다른 사람의 코드를 참고하였다. 참고 사이트 https://github.com/kswim/Algorithm/blob/master/etc/42892.cpp boj/1254.java 이 코드는 Stack을 이용하여 하나씩 붙여가면서 검사한다. 특히 isPalindrome 함수는 생각해내지 못한 부분이다. 나는 모든 문자열을 검사할 수 있는 함수를 구현하려고 했지만 잘 안됐다. 힝 이 코드는 솔직히 너무 잘 짰다고 생각해서 참고하게 됐다. (ㅠㅠ) 팰린드롬 만들기 문제는 BOJ에서 DP로 분류되어 있다. 그래서 좀 헷갈렸는데 이 문제는 DP로 푸는 게 아닌 것 같다! 다른 사람들의 말을 인용하자면 이 문제는 ..