본문 바로가기
웃음기 있는 글들/C

프로그래머스 모음 제거(문자열의 끝에는 '\0'을 넣자)

by pon9 2024. 10. 22.

문제

 

내가 생각한 문제풀이법:

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' 를 삽입해 끝을 알리는 것도 정말 중요한 것 같다.