혜랑's STORY

[BOJ_C] 13235번, 2908번 본문

2021 SISS 21기 활동/겨울방학 C

[BOJ_C] 13235번, 2908번

hyerang0125 2021. 2. 24. 15:01

# BOJ 13235번 : 팰린드롬

문제

- 풀이

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

int palindrome(char x[]){
    int len = strlen(x);

    for(int i=0; i<len/2; i++){
        if(!(x[i]==x[len-i-1]))
            return 0;
    }
    return 1;
}

int main(){
    char str[21];
    scanf("%s", str);

    if(palindrome(str))
        printf("true");
    else
        printf("false");

    return 0;
}

 

  1. 문자열 str을 입력받는다.
  2. palindrome 함수에서는 str의 길이의 절반만큼 for문을 실행하며 만약 i번째와 i번째에 대칭되는 문자가 일치하지 않는 경우에 0을 return하고 무사히 for문을 끝냈다면 1을 반환한다.
  3. 만약 palindrome이 반환한 값이 1이라면 true를 출력하고 아닌 경우 false를 출력한다.

- 실행결과

13235번 실행결과

 

# 2908번 : 상수

문제

- 풀이

#include <stdio.h>

int upside_down(int x){
    int newX = 0;
    
    while(x != 0){
        newX = newX * 10 + x % 10;
        x /= 10;
    }

    return newX;
}

int main(){
    int n1, n2;
    scanf("%d %d", &n1, &n2);

    if(upside_down(n1)>upside_down(n2))
        printf("%d", upside_down(n1));
    else
        printf("%d", upside_down(n2));

    return 0;
}

 

  1. upside_down 함수는 입력받은 수를 newX의 값에 10을 곱하고 10으로 나눈 나머지 값을 더하는 함수로써 상근이 동생처럼 거꾸로 숫자 읽은 값을 구하는 함수이다.
  2. 입력받은 두 수를 upside_down 함수를 통해 거꾸로 읽고 두 값을 비교하여 더 큰 값을 출력한다.

- 실행결과

2908번 실행결과

 

'2021 SISS 21기 활동 > 겨울방학 C' 카테고리의 다른 글

[BOJ_C] 4673번, 16503번  (0) 2021.02.15
[BOJ_C] 1316번, 2869번  (0) 2021.02.08
[BOJ_C] 2748번, 2750번  (0) 2021.02.01
[BOJ_C] 2941번, 2884번  (0) 2021.01.23
[BOJ_C] 1037번, 1712번  (0) 2021.01.18