문제
내가 생각한 문제풀이법:
1. 반복문을 통해 my_string의 값을 0부터 strlen(my_string)까지 훑으며 모음이 나오면 continue제어문으로 실행 흐름을 변경시킨다.
2. printf로 결과를 출력한다
처음에 작성한 코드
문제점:
1. malloc으로 할당할 때 int가 아니라 char로 길이에 맞는 메모리를 할당해야 했다.
2. answer에 값을 대입해야 하는데 printf로 값을 출력하려 했다.
3. 문자열의 끝에 들어갈 '\0'을 고려하지 않았다. 동적 할당을 할 때에도 +1을 해주어야 한다.
개선한 코드:
1. 앞서 말한 문제점을 전부 고쳤다.
2. 변수 j를 선언해 마지막에 '\0'을 삽입해 문자열의 끝을 맺었다.
동적 할당을 배열 문제에서 두 번 밖에 안 써봐서 할당 길이를 상황에 맞게 변경하는 것이 아직 안 익숙하다.
문자열의 끝에 '\0' 를 삽입해 끝을 알리는 것도 정말 중요한 것 같다.
'웃음기 있는 글들 > C' 카테고리의 다른 글
프로그래머스 문자열을 정수로 바꾸기('0'의 아스키 코드는 48) (0) | 2024.10.23 |
---|---|
프로그래머스 중앙값 구하기(버블 정렬) (0) | 2024.10.22 |
strlen, strcpy, strcat (1) | 2024.10.22 |