Study/Programmers
-
[프로그래머스 Lv.1]문자열 정수로 바꾸기(atoi 함수)Study/Programmers 2021. 8. 11. 15:10
문제: 문자열 정수로 바꾸기 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 코드 구현 #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(const char* s) { in..
-
[프로그래머스 Lv.1] 직사각형 별 찍기Study/Programmers 2021. 8. 11. 15:02
문제 : 직사각형 별 찍기 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 코드구현 #include int main(void) { int a; int b; int i; int j; scanf("%d %d", &a, &b); for(i = 0; i < b; i++) { for(j = 0; j < a; j++) printf("*"); printf("\n"); } return 0; } 다른 사람 풀이 1. 이중반복문을 사용하지 않고 한 방법 int main(void) { int a..
-
[프로그래머스 Lv.1]문자열 다루기 기본Study/Programmers 2021. 8. 11. 13:36
문제: 문자열 다루기 기본 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 -s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 s return "a234" false "1234" true 코드구현 #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. bool solution(const char* s) { bool answer = true; int i; for(i = 0; s[i] != '\0'; i++); int len =..
-
[프로그래머스 Lv.2]피보나치 수 구하기Study/Programmers 2021. 8. 10. 16:45
7번 부터 런타임 에러나는 이유 (이준희 님) 우선 말씀드리겠습니다. 문제가 틀린 거 아닙니다!! 컴퓨터공학에 대해서 설명하기 때문에 글이 좀 깁니다. 긴 글이 싫다 하면 맨 밑에 한줄요약을 읽어주세용 일반적인 프로그래밍 언어는 CPU에서 제공하는 최소 읽기 단위(word라고 하는 것으로 기억합니다)를 기준으로 변수의 범위를 지정합니다. 일반적인 x86 시스템(인텔이나 AMD가 만든 그거입니다)은 word의 크기가 4byte라고 가정하며, 그렇기 때문에 int라는 자료형은 -2,147,483,648 ~ 2,147,483,647까지의 값만을 표현할 수 있습니다(계산해보시면 총 숫자 개수가232 개입니다. 1 바이트는 8비트니까요) 그래서 프로그래밍을 하면 정수의 범위에 정말! 정말!! 신경을 쓰셔야 합니다..
-
[프로그래머스 Lv.1]자연수 뒤집어 배열로 만들기Study/Programmers 2021. 7. 7. 01:11
문제 : 자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] 코드 구현 #include #include #include int* solution(long long n) { // 리턴할 값은 메모리를 동적 할당해주세요. int* answer = (int*)malloc(sizeof(int) * 100); int i = 0; while (n > 0) { answer[i] = n % 10; n /= 10; i++; } return answer; } 위의 코드에서 동..
-
[프로그래머스 Lv.1]하샤드 수Study/Programmers 2021. 7. 7. 00:52
문제 : 하샤드 수 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 arr return 10 true 12 true 11 false 13 false 코드 구현 #include #include #include bool solution(int x) { bool answer = true; int digitSum = 0; int n = x; while(n > 0) { digitSum += n % 10; n /..
-
[프로그래머스 Lv.1]수박수박수박수박수Study/Programmers 2021. 7. 7. 00:35
문제 : 수박수박수박수? 문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 코드 구현 1) C언어로 구현 #include #include #include #include char* solution(int n) { // 리턴할 값은 메모리를 동적 할당해주세요. char * answer = (char*)malloc(sizeof(char)*(n * 3)); //덤프 방지를 위해 *3을 함 strcpy(answer,""); for(int i..