728x90
반응형
주어진 번호의 뒷자리 4개를 제외하고 모두 '*'로 가리기
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* phone_number) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(sizeof(char) * 20);
int len = strlen(phone_number);
int i = 0;
while((len-i) > 4) {
answer[i] = '*';
i++;
}
strcpy(&answer[i], &phone_number[i]);
return answer;
}
malloc으로 할당된 char 포인터 변수에 값을 넣을때는 ' '(작은따옴포)로 감싼 문자를 넣어야 들어감............하...
거의 대부분 반복문으로 해결했는데, 음.. 좀 참신하다 이코드는
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* phone_number) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(sizeof(char) * strlen(phone_number) + 1);
char* star = "****************";
strcpy(answer, phone_number);
strncpy(answer, star, strlen(phone_number) - 4);
return answer;
}
표준문자열 함수로 처리함. 뭐 이것도 방법이지.
- 끝 -
728x90
반응형
'Programming language > 코딩테스트' 카테고리의 다른 글
코딩테스트-수박수박수박수?, 프로그래머스 코딩테스트 C버전 (1) | 2022.09.30 |
---|---|
코딩테스트 - 부호 판별, 음양 더하기, 숫자 더하기, C언어 (0) | 2022.09.29 |
코딩테스트 - 두 정수 사이의 합, C언어 (0) | 2022.09.29 |
코딩테스트 - 콜라츠 추측, Collatz, C언어 (0) | 2022.09.29 |
코딩테스트-문자열을 정수로 바꾸기, C언어, itoa() (0) | 2022.09.29 |