프로그래머스 - 배열 두 배 만들기 문제는 간단합니당~ numbers의 각 숫자들을 두 배해 같은 인덱스에 있는 answer에 넣어주면 됩니다! 문제는 malloc! 바로 동적할당!! 입니다. #include int* solution(int numbers[], size_t numbers_len) { int* answer = (int*)malloc(sizeof(int)*numbers_len); for(int i = 0; i 코딩테스트 2023.08.24
프로그래머스 - 짝수의 합 반복할 횟수가 정해져 있기 때문에 for문을 돌려주면 됩니다~~! 그리고 두 가지로 방법을 사용할 수 있는데 1번 방법 - i가 1이고, i가 n까지일 때 i%2가 0이면 짝수기 때문에 이를 answer에 더해줄 수 있습니다. 2번 방법 - i가 0이고, i가 n까지일 때 i+=2는 짝수기 때문에 이를 answer에 더해주면 됩니다.!! 1번 방법 #include #include #include int solution(int n) { int answer = 0; for(int i = 1; i 코딩테스트 2023.08.02
프로그래머스 - 치킨 쿠폰 이해하는데 시간이 많이 걸렸습니당~ 이 문장을 가지고 규칙을 만들면 일단 처음 주어지는 쿠폰의 양은 치킨의 양과 같습니다! 그리고 쿠폰으로 치킨을 시키게 되면 쿠폰/10개의 치킨을 시킬 수 있습니다! 남은 쿠폰의 양은 쿠폰%10인 것도 알 수 있습니다!! 그럼 다음에 시킬 때 남는 쿠폰의 양은 쿠폰/10 + 쿠폰%10 입니다!! 처음에는 for문을 돌리려고 했는데 돌리는 횟수가 정해져 있지 않기 때문에 while문을 사용했고 조건식에는 더이상 쿠폰을 사용하지 못하는 경우인 coupon이 10보다 작은 경우로 정했습니다!! 즉 coupon>9 이를 토대로 코드를 짜게 되면 #include #include #include int solution(int chicken) { int answer = 0; int .. 코딩테스트 2023.08.01
프로그래머스 - 양꼬치 문제!!! 양꼬치는 1인분에 12,000원이기 때문에 양꼬치의 가격은 n*12,000 입니다! 그리고 음료수의 가격은 k*2,000 이지만 10인분을 시키면 10인분당 -1씩 해주기 때문에 음료수의 가격은 (k-n/10)*2,000원입니다! 이걸 토대로 코드를 짜면 #include #include #include int solution(int n, int k) { int answer = 0; return answer = n*12000 + (k-n/10)*2000; } 라는 코드가 나옵니당~ 코테 성공 (o゜▽゜)o☆ 코딩테스트 2023.07.31
프로그래머스 - 제곱수 판별하기 일단 주어진 조건에서 n의 값이 1,000,000 이하기 때문에 1,000,000의 제곱근인 1,000을 이용해야겠다고 생각했습니다~ 그리고 제곱은 자연수*자연수 꼴로 나타낼 수 있기 때문에 반복문을 사용해서 제곱과 n값을 비교하는 코드를 작성했습니다! 처음 짠 코드 #include #include #include int solution(int n) { int answer = 0; for(int i = 1; i 코딩테스트 2023.07.26
프로그래머스 - 피자 나눠 먹기 7명이 먹기 위해서 -> 피자 1판 1명이 먹기 위해서 -> 피자 1판 15명이 먹기 위해서 -> 피자 3판 여기서 알 수 있는 것은 n명을 7로 나눈 몫에 1을 더했다는 점입니다! 하지만 n이 7로 나누어 떨어지는 경우는 n을 7로 나눈 몫입니다~! 여기서 발견한 규칙으로 코드를 짜게 되면~ #include #include #include int solution(int n) { int answer = 0; if(n%7 == 0) n-=1; return answer = n/7+1; } 이런 코드가 나옵니다~ 만약 n이 7로 나누어 떨어진다면 n에 1을 빼서 몫의 값이 1 줄게 만들었습니다! 하지만.. 이 코드의 가독성이 많이 떨어지는 문제로 새로운 코드를 짜봤습니다~! #include #include #.. 코딩테스트 2023.07.25
프로그래머스 - 각도 주어진 각도 조건과 일치하는지에 따라서 분류해야하기 때문에 이 문제는 비교 연산자를 사용해야합니다! #include #include #include int solution(int angle) { int answer = 0; if(angle>0 && angle 코딩테스트 2023.07.13
프로그래머스 - 편지 만약 "I love you~"라는 문구를 적고 싶으면 가로 길이의 최소가 22cm, "happy birthday!"는 30cm가 필요하다는 것을 알 수 있습니다. 여기서 편지지의 가로 최소 길이는 문자의 개수 * 2 라는 것을 알 수 있습니다. #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. int solution(const char* message) { int answer = strlen(message)*2; return answer; } 오늘도 solution 함수를 완성시켜 봅시다~~ solution 함수는 int를 리턴값으로 가지고, message라는 문자열을 매개변수로 가집니다~! message는.. 코딩테스트 2023.07.11
프로그래머스 - 나이 출력 만약 2022년 기준 40살이라면 출생 연도는 1983년, 23살이라면 출생 연도가 2000년입니다. 이로부터 출생 연도를 구하는 공식은 2022 - 나이 + 1인 것을 알 수 있습니다. #include #include #include int solution(int age) { int answer = 2023-age; return answer; } 문제에서 요구하는 대로 solution 함수를 완성시켜봅시당~ solution 함수는 리턴 값이 int이고, age를 매개변수로 가지네요~! age는 매개변수이기 때문에 따로 입력받을 필요는 없습니다~ 출생 연도 구하는 공식(2023-age)을 answer에 대입시켜주고 answer를 리턴시켜주면 ☆ 코드 완성 ☆ 코딩테스트 2023.07.10
프로그래머스 - 특수문자 출력하기 !@#$%^&*('"?:;를 출력해보자! #include int main(void){ printf("!@#$%^&*(\'"?:;"); } 이렇게 코드를 짜게 되면 오류가 생깁니다. 왜냐하면? "로 인해서 처음 "~"로 묶은 문장이 분리되었기 때문입니다. 그럼 어떻게 해야할까요? #include int main(void){ printf("!@#$%^&*(\\'\"?:;"); } 이처럼 \ 뒤에 쓰고 싶은 특수기호를 써주게 되면 잘 출력이 됩니다. 혹시라도 "와 같은 특수문자를 사용할 때는 앞에 \를 붙이고 써주게 되면 후에 생길 수 있는 오류를 미리 대비할 수 있습니다. **주의할 점** 1. \도 출력해야하기 때문에 \\'\" 형식으로 적어줘야 합니다. 2. 만약 \ 뒤에 "를 여러 개 붙여도 "는 하나.. 코딩테스트 2023.05.17