첫번째 - 특정 문자 제거하기
문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.
입출력 예
| my_string | letter | result |
| "abcdef" | "f" | "abcde" |
| "BCBdbe" | "B" | "Cdbe" |
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* my_string, const char* letter) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(strlen(my_string));
int i, j=0;
for(i=0;my_string[i]!='\0';i++)
if(my_string[i]!=*letter)
answer[j++]=my_string[i];
answer[j]='\0';
return answer;
}
my_string을 answer에 그대로 옮기는데
letter와 같지 않을때만 answer에 넣어주면 된다
두번째 - 각도기
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
- 예각 : 0 < angle < 90
- 직각 : angle = 90
- 둔각 : 90 < angle < 180
- 평각 : angle = 180
입출력 예
| angle | result |
| 70 | 1 |
| 91 | 3 |
| 180 | 4 |
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int angle) {
int answer = 0;
if(angle>0 && angle<90)
answer = 1;
else if(angle == 90)
answer = 2;
else if(angle > 90 && angle < 180)
answer = 3;
else if(angle == 180)
answer = 4;
return answer;
}
if, else if문을 이용해서
예각 직각 둔각 평각 순서대로 걸러주면 된다
세번째 - 양꼬치
머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지
return 하도록 solution 함수를 완성해보세요.
입출력 예
| n | k | result |
| 10 | 3 | 124,000 |
| 64 | 6 | 768,000 |
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n, int k) {
int answer = 0;
answer = n*12000 + k*2000 - n/10 * 2000;
return answer;
}
우선 서비스로 음료수를 빼주기 전 가격을 먼저 계산한다
-> n*12000 + k*2000
그리고 n을 10으로 나눈 몫의 개수만큼 음료수의 가격을 빼주면 된다
네번째 - 짝수의 합
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
입출력 예
| n | result |
| 10 | 30 |
| 4 | 6 |
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 0;
int i = 2;
while(i <= n){
answer += i;
i += 2;
}
return answer;
}
i를 제일 작은 짝수인 2로 놓고
while문을 사용해 i가 n보다 작을때 계속 돌아가도록 한다
반복문 안에서는 answer에 i를 계속 더하고 i 또한 2씩 증가하도록 한다
'프로그래머스 코딩테스트' 카테고리의 다른 글
| 프로그래머스 코딩테스트 입문 DAY9 (2) | 2024.02.05 |
|---|---|
| 프로그래머스 코딩테스트 입문 DAY8 (0) | 2024.02.04 |
| 프로그래머스 코딩테스트 입문 DAY6 (0) | 2024.02.04 |
| 프로그래머스 코딩테스트 입문 DAY5 (0) | 2024.02.04 |
| 프로그래머스 코딩테스트 입문 DAY4 (0) | 2024.02.04 |