백준 10942 팰린드롬?
2023. 2. 18. 15:58ㆍ코딩 공부 연습
반응형
백준 10942 팰린드롬?
이번 문제는 DP 를 활용해야 하는 문제였는데, 분명 dp 란 것을 알고 있었음에도 어떻게 메모이제이션 해야할 지 감이 오지 않았고, 답을 참고해서 풀었다. 담에 이런 문제 나오면 무조건 스스로 해내야지!
i ~ j 까지의 범위가 팰린드롬인지 알기 위해선 i+1 ~ j-1 까지의 범위가 팰린드롬인지 부터 아는 것이 당연하다.
만약 i+1 ~ j-1 까지 팰린드롬이고 i 와 j 번째 의 수가 같다면, 당연 i~j 까지는 팰린드롬인 것이다.
이제 이 당연한 사실을 코드로 짜기만 하면 되는데, 그게 생각처럼 쉽지가 않다 하하하하
for (int i = 2; i <= n- 1; i++)
{
for (int j =1 ; i +j <= n; j++)
{
if (numbers[j] == numbers[i+j] && dp[j+1][i+j-1] == 1)
{
dp[j][i+j] = 1;
}
}
}
이제 다 짰다 생각하고 제출했는데, 시간 초과가 나왔다. 혹시나 해서
ios_base::sync_with_stdio(0);
cin.tie(0);
깜빡하고 안 쓴 이 아이들을 써주니까 시간이 더 초과되지 않구 통과했다!!
아이디어를 떠올리는 거도 실패하고, 아이디어를 구현하는 것도 실패했다. 으악 담엔 더 잘하자
'코딩 공부 연습' 카테고리의 다른 글
백준 2502 떡 먹는 호랑이 (1) | 2023.02.23 |
---|---|
백준 4883 삼각 그래프 (0) | 2023.02.20 |
백준 10826 피보나치 수 4 (0) | 2023.02.14 |
백준 16400 소수 화폐 (0) | 2023.02.09 |
백준 1153 네 개의 소수 (0) | 2023.01.25 |