발자취
[프로그래머스 Lv.1 / C언어] Day2. 문자열을 정수로 바꾸기 본문
2024. 05. 19 - 코딩테스트 스터디 Day2
01. 문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
02. 제한 조건
- s의 길이는 1 이상 5 이하입니다.
- s의 맨 앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져 있습니다.
- s는 "0"으로 시작하지 않습니다.
03. 입출력 예
예를 들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
04. 풀이 및 답
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(const char* s) {
int answer = 0;
answer = atoi(s);
return answer;
}
코드 한 줄만 추가해 주면 되는 간단한 문제였다.
문자열을 정수로 변환하기 위해서는 atoi() 함수를 사용해 주면 된다.
atoi는 ASCII to int의 약자로 문자열을 정수로 변환해 주는 함수이다.
atoi 함수의 파라미터 값으로 정수로 변환하고자 하는 문자열 s를 넣어주면, 정수로 변환된다!

후후
05. 정리
문제 풀이를 마친 후, <stdlib.h> 라이브러리의 주요 함수 몇 가지를 정리해 보았다.
1) 타입 변환
int atoi ( const char * str );
ASCII to int, 문자열 → 정수
long int atol ( const char * str );
ASCII to long int, 문자열 → long 정수
double atof ( const char * str );
ASCII to float, 문자열 → 실수
char *itoa (int value, char *buffer, int radix);
int to ASCII, 정수 → 문자열
2) 난수 생성
int rand ( void );
의사 난수를 반환
3) 정수 산술
int abs ( int n );
n의 절댓값 반환
4) 동적 메모리 관리
void * malloc ( size_t size );
size 크기만큼의 메모리를 힙에서 할당하여 반환
void free ( void * ptr );
ptr이 가리키는 메모리 해제
참고
https://learn.microsoft.com/ko-kr/cpp/standard-library/cstdlib?view=msvc-170
<cstdlib>
자세한 정보:
learn.microsoft.com
'코딩테스트 > Daily Coding (C, C++)' 카테고리의 다른 글
| [백준 / C언어] Day6. 괄호 (9012) (0) | 2024.05.23 |
|---|---|
| [백준 / C, C++] Day5. 제로 (10773) (0) | 2024.05.22 |
| [백준 / C, C++] Day4. 스택 2 (28278) (0) | 2024.05.21 |
| [프로그래머스 Lv.1 / C언어] Day3. 약수의 합 (0) | 2024.05.20 |
| [프로그래머스 Lv.1 / C++] Day1. 문자열 내 p와 y의 개수 (0) | 2024.05.18 |