문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 조건
- n은 10,000,000,000이하인 자연수입니다.
입출력 예
n | return |
12345 | [5,4,3,2,1] |
나의 풀이
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(long long n) {
// 리턴할 값은 메모리를 동적 할당해주세요.
long long copyn=n;
int count=0;
while(copyn>0){
copyn=copyn/10;
count++;
}
int div=10;
int* answer = (int*)malloc(sizeof(int)*count);
for(int i=0;i<count;i++){
answer[i]=n%div;
n/=10;
}
return answer;
}
다른 사람의 풀이
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int* solution(long long n) {
int* answer = (int*)malloc(sizeof(int) * 12);
int temp = 0;
while(n > 0)
{
answer[temp++] = n % 10;
n /= 10;
}
return answer;
}
sizeof(int)*11해도 되지않나..
'코딩테스트' 카테고리의 다른 글
C언어 ] leetCode 1689 - Partitioning Into Minimum Number Of Deci-Binary Numbers (0) | 2023.03.25 |
---|---|
C언어 ] 프로그래머스 Lv. 1 - 핸드폰 번호 가리기 (0) | 2022.05.17 |
C언어 ] 프로그래머스 Lv. 1 - 내적 (0) | 2022.05.17 |
C언어 ] 프로그래머스 Lv. 1 - 나머지가 1이 되는 수 찾기 (0) | 2022.05.17 |
C언어 ] 프로그래머스 Lv. 1 - 두 정수 사이의 합 (0) | 2022.05.17 |