728x90
📌 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120839
👩💻 전체코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* rsp) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(strlen(rsp));
for(int i = 0; i< strlen(rsp); i++) {
if(rsp[i] == '2') {
answer[i] = '0';
} else if(rsp[i] == '0') {
answer[i] = '5';
} else {
answer[i] = '2';
}
}
answer[strlen(rsp)] = NULL;
return answer;
}
해당 문제에서는 동적할당을 잘 해주는 부분에 가장 초점을 두었다.
malloc의 특징에 따라, 젤 마지막에 NULL값을 넣어줘서 쓰레기 값이 들어가는 것을 방지해줘야했다.
또한, str -> int 형으로 전환하여 while문을 통해 문제를 풀어야하나? 라고 생각했지만,
str형을 보존하면서 하나하나 값을 비교하여 answer에 값을 넣어주는 방식으로 더 쉽게 풀이할 수 있었다!
728x90
'ⓒⓞⓓⓘⓝⓖⓣⓔⓢⓣ > ⓒ' 카테고리의 다른 글
[백준/C언어] 도키도키 간식드리미 (0) | 2024.08.08 |
---|---|
[프로그래머스/C언어] 최솟값 만들기 (1) | 2024.04.29 |
[프로그래머스/C언어] 콜라츠 추측 (0) | 2023.11.09 |
[프로그래머스/C언어] 문자열을 정수로 바꾸기 (0) | 2023.11.05 |
[C언어] 동적할당 (1) | 2023.11.01 |
댓글