C

[프로그래머스] 연습문제 도장깨기

EYR 2022. 3. 8. 19:43

연습문제라고 나같은 사람들을 위한 아주~ 쉬운 문제들이 있더라?

그래서 풀어봄

 

직사각형 별찍기

https://programmers.co.kr/learn/courses/30/lessons/12969

 

코딩테스트 연습 - 직사각형 별찍기

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수

programmers.co.kr

#include <stdio.h>

int main(void) {
    int n = 0, m = 0;
    
    scanf("%d %d", &n, &m);
    
    for (int i = 1; i <= m; i++)
    {
        for (int l = 1; l <=n; l++)
        {
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

이중루프라서그런지 러닝타임이 좀 길게 나온다...

긁적...

 

 

 

핸드폰 번호 가리기

https://programmers.co.kr/learn/courses/30/lessons/12948

 

코딩테스트 연습 - 핸드폰 번호 가리기

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

programmers.co.kr

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

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* phone_number) {
    char* number = (char *)phone_number; // 포인터 공부좀해
    
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    char* answer = (char*)malloc(20);
    answer = (char*)phone_number;
    
    for (int i = 0; i < strlen(number) - 4; i++)
    {
        answer[i] = '*';
    }
    
    return answer;
}

그래서 왜 문자열에 포인터 씌우는건데

짜고도 모름

 

 

 

 

평균 구하기

https://programmers.co.kr/learn/courses/30/lessons/12944

 

코딩테스트 연습 - 평균 구하기

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr

programmers.co.kr

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// arr_len은 배열 arr의 길이입니다.
double solution(int arr[], size_t arr_len) {
    double sum = 0;
    
    for (int i = 0; i < arr_len; i++)
        sum = arr[i] + sum;
    
    double answer = 0;
    answer = sum / arr_len;
    return answer;
}

 

짝수와 홀수

https://programmers.co.kr/learn/courses/30/lessons/12937

 

코딩테스트 연습 - 짝수와 홀수

정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even"

programmers.co.kr

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

char* solution(int num) {
    // 리턴할 값은 메모리를 동적 할당해주세요
    char* answer = (char*)malloc(4);
    
    if (num % 2 == 0)
        answer = "Even";
    else 
        answer = "Odd";
    return answer;
}