목록Programmers/Level 1 (77)
GitHubSeob

문제 https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 문제풀이 문제 설명대로 짝수라면 2로 나누고 홀수라면 3을 곱하고 1을 더한다. 500번을 돌렸는데도 값이 안 나오면 -1을 return 한다. while문을 이용해서 횟수가 500번 또는 숫자가 1이 될 때까지 무한 반복한다. 코드 #include #include using namespace std; int solution(..

문제 https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 문제풀이 최대공약수는 유클리드 호제법을 이용해 풀었다. 최소공배수는 최대공약수 최소공배수 관계를 이용해 풀었다. 코드 #include #include #include using namespace std; int Getgcd(int a, int b) { int temp = 0; while (1) { if (a % b == 0)..

문제 https://programmers.co.kr/learn/courses/30/lessons/12937 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 문제풀이 2로 나눠 나머지가 없으면 짝수이므로 Even을, 나머지가 있으면 홀수이므로 Odd를 return 한다. 코드 #include #include using namespace std; string solution(int num) { string answer = ""; if(num%2==..

문제 https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 문제풀이 코드 #include #include #include using namespace std; vector solution(vector arr) { vector answer; int min_num = *min_element(arr.begin(), arr.end()); if (arr.size() == 1)..

문제 https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr 문제풀이 제곱근을 구해주는 sqrt함수를 이용해서 n의 제곱근을 구한다. n의 제곱근이 정수형인지를 체크해주고 정수형이라면 제곱근 값+1의 제곱을 한다. 소수점이 있다면 -1을 return 한다. 코드 #include #include #include using namespace std; long long solution(lon..

문제 https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 문제풀이 n을 to_string을 이용해 string형으로 바꾼다. 그다음 algorithm의 sort를 이용하여 내림차순으로 정렬한다. 그다음 stoll을 이용하여 string을 long long형으로 바꾼다. 코드 #include #include #include #include using namespace..

문제 https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 문제풀이 n=0까지 n을 10으로 나눈 나머지를 answer에 넣고, n을 10으로 나눈다. 코드 #include #include using namespace std; vector solution(long long n) { vector answer; while(n>0){ answer..

문제 https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 문제풀이 n을 to_string함수를 써서 string으로 바꾼다. string형으로 바꾸면 char형 배열처럼 사용할 수 있는 점을 이용한다. answer에 char형을 int형으로 바꾸기위해 '0'을 지운다. 코드 #include using namespace std; int so..

문제 https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 문제풀이 단어의 맨 앞 글자를 포함한 짝수번째 글자는 대문자로, 홀 수 번째 글자는 소문자로 바꾼다. 공백은 공백으로 출력하면 된다. 소문자로 변경해주는 tolower, 대문자로 변경해주는 toupper함수를 이용한다. 코드 #include #include using namespace std; string solution(string s) { ..