백준

백준 25501번: 재귀의 귀재 (C언어)

2023. 6. 29. 22:51
목차
  1. 백준 25501번: 재귀의 귀재 링크
  2. 문제를 풀기 전 생각한 것
  3. 풀면서 어려웠던 점
  4. 코드
  5. 풀면서 배운 점

백준 25501번: 재귀의 귀재 링크

https://www.acmicpc.net/problem/25501

문제를 풀기 전 생각한 것

테스트 반복을 할 것이기 때문에 for문 사용

recursion 함수 반복 횟수를 세줄 cnt

풀면서 어려웠던 점

문자열을 불러와서 출력시키는 것은 어렵지 않았다.

하지만 재귀함수가 호출된 횟수를 어디서 어떻게 받아야 할지 몰랐다.

이런 건 계속 붙잡고 있으니 자연스럽게 해결됐는데 백준에 제출하니 틀렸다고 나왔다.

코드

#include <stdio.h>
#include <string.h>

int cnt;

int count(){
    cnt += 1;
    return cnt;
}

int recursion(const char *s, int l, int r){
    if(l >= r) 
        return 1;
    else if(s[l] != s[r]) 
        return 0;
    else
        count();
        return recursion(s, l+1, r-1);
}

int isPalindrome(const char *s){
    return recursion(s, 0, strlen(s)-1);
}

int main(){
    int t;
    char s[1001];
    scanf("%d",&t);
    for (int i = 0; i < t; i++){
        scanf("%s",s);
        printf("%d ",isPalindrome(s));
        printf("%d\n",count());
        cnt = 0;
    }
}

풀면서 배운 점

출력할 때 한꺼번에 하면 파라미터는 뒤에서부터 처리될 수도 있고 앞에서부터 처리될 수도 있다고 한다.

그리고 최악의 경우 무작위 순서일 수도 있다고 한다. 그래서 확실하게 나눠서 써줘야 한다.

반응형
  1. 백준 25501번: 재귀의 귀재 링크
  2. 문제를 풀기 전 생각한 것
  3. 풀면서 어려웠던 점
  4. 코드
  5. 풀면서 배운 점
'백준' 카테고리의 다른 글
  • 백준 2563번: 색종이 (C언어)
  • 백준 2587번: 대표값2 (C언어)
  • 백준 10807번: 개수 세기 (C언어)
  • 백준 5597번: 과제 안 내신 분..? (C언어)
NamDoHyeon
NamDoHyeon
뉴비 개발자NamDoHyeon 님의 블로그입니다.
반응형
NamDoHyeon
뉴비 개발자
NamDoHyeon
전체
오늘
어제

블로그 메뉴

  • 홈
  • 방명록
  • 관리자
  • 글쓰기
  • 분류 전체보기 (106)
    • 백준 (38)
    • 부트캠프 (58)
      • 멋쟁이 사자처럼 (58)
    • 개인공부 (9)
      • 데이터베이스 (2)
      • 소프트웨어 공학 (1)
      • C (5)
      • 알고리즘 (1)

최근 글

hELLO · Designed By 정상우.
NamDoHyeon
백준 25501번: 재귀의 귀재 (C언어)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.