본문 바로가기

전체 글333

[프로그래머스/C언어] 주사위 게임 2 문제 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 솔루션 #include #include #include int solution(int a, int b, int c) { in.. 2023. 8. 4.
[프로그래머스/C언어] 등차수열의 특정한 항만 더하기 문제 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요. 솔루션 #include #include #include // included_len은 배열 included의 길이입니다. int solution(int a, int d, bool included[], size_t included_len) { int answer = 0; int i; int sum = 0; for(i = 1; i 2023. 8. 4.
[프로그래머스/C언어] 코드 처리하기 문제 문자열 code가 주어집니다. code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다. mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다. mode는 0과 1이 있으며, idx를 0 부터 code의 길이 - 1 까지 1씩 키워나가면서 code[idx]의 값에 따라 다음과 같이 행동합니다. mode가 0일 때 code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다. code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다. mode가 1일 때 code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다. code[idx]가 "1"이면 mode를 1에서 0으로 바꿉니다... 2023. 8. 4.
[프로그래머스/C언어] 분수의 덧셈 문제 첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 솔루션 #include #include #include int* solution(int numer1, int denom1, int numer2, int denom2) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(2*sizeof(int)); answer[0] = numer1*denom2+numer2*.. 2023. 8. 4.
[프로그래머스/C언어] 배열 두배 만들기 문제 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include // numbers_len은 배열 numbers의 길이입니다. int* solution(int numbers[], size_t numbers_len) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int* answer = (int*)malloc(20000*1000); for(int i = 0; i < numbers_len; i++) answer[i] = numbers[i] * 2; return answer; } https://.. 2023. 8. 4.
[프로그래머스/C언어] 피자 나눠 먹기 (2) 문제 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 솔루션 #include #include #include int solution(int n) { int i = 6; while(1){ if(i % n == 0) break; i += 6; } int answer = i / 6; return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/120815 2023. 8. 4.
[프로그래머스/C언어] 직각삼각형 출력하기 문제 "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 솔루션 #include int main(void) { int n; scanf("%d", &n); for(int i = 1; i 2023. 8. 4.
[프로그래머스/C언어] 개미 군단 문제 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include int solution(int hp) { int answer = 0; answer += (.. 2023. 8. 3.
[프로그래머스/C언어] 주사위의 개수 문제 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. 솔루션 #include #include #include // box_len은 배열 box의 길이입니다. int solution(int box[], size_t box_len, int n) { int answer = 0; answer = (box[0]/n) * (box[1] / n) * (box[2] / n); return answer; } https://school.pro.. 2023. 8. 3.
[프로그래머스/C언어] 팩토리얼 문제 i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. i! ≤ n 솔루션 #include #include #include int solution(int n) { int answer = 0; int mul = 1; if(n == 1) return 1; for(int i = 1; i n){ answer = i - 1; break; } } return answer; } https://school.programmers.co.kr/learn/courses/30/lessons/120848 2023. 8. 3.