- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바
- oauth
- C언어
- 프로그래머스
- firebase google
- 자료구조
- 백준
- 프로그래밍 입문
- 구글 로그인
- 컴퓨터공학과
- 코딩테스트
- Firebase
- 파이썬
- 정렬
- 공유대학
- Java
- 로그인
- 알고리즘
- 동적할당
- sql
- 안드로이드
- 배열
- python
- 안드로이드 스튜디오
- android studio
- til
- 연결리스트
- 비주얼 베이직
- C++
목록개인 공부/프로그래머스 (56)
코딩하는 해달이
문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 문제 이해 n의 약수는 x * y = n이 되는 x, y이기 때문에 x, y를 구해서 더하면 된다. 코드 설명 1. 정수 n을 입력받는다. 2. 반복자 i, j를 선언한다. 3. i는 1부터 n까지, j는 n부터 0까지 반복하며 i * j를 구한다. 4. i * j == n을 만족하면 i를 answer에 추가한다. 풀이 코드 #include #include #include using namespace std; int solution(int n) { int answer = 0; for (int i = 1; i 0; j--) { if (i * j ==..
문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 문제 이해 입력받은 문자열을 "단어"(문자열 전체 X)기준 짝수번째는 대문자, 홀수번째는 소문자로 바꾼 문자열을 리턴해야한다. 문자열 전체를 순회하며 공백을 만날 때마다 초기화하는 인덱스를 만들면 되지 않을까? 알고리즘 1. 문자열 s를 입력받는다. 2. 정수형 변수 vcindex를..
문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 문제 이해 입력받은 수 n의 각 자릿수의 합을 구해야한다. 우선 두가지 방법이 생각났는데, 한가지 방법은 이전의 하샤드 수에서 사용한 자릿수 별로 나누어서 더하는방법이고, 다른 방법은 string으로 형변환을 시켜서 각 자리를 더하는 것인데, 하샤드 수에서 사용한 방법을 이용하려면 n의 범위인 1억부터 나누어야하기에 이번엔 string으로 형변환 시켜서 해보기로했다. 알고리즘 1. 정수 n을 입력받는다. 2. n을 문자열로 변환하여 num에 대입한..
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 문제 이해 long long형으로 입력받은 자연수 n을 쪼개서 뒤집은 후 배열로 만들어야 함. 코드 설명 1. 정수 n을 입력받는다. 2. n을 문자열로 변환하여 num에 대입한다. 3. 배열 answer에 배열 num의 요소를 역순으로 추가한다. ** 주의 ** string형을 인덱스로 접근하면 char형태로 접근하기 때문에 ASCII코드 표를 참고해 48을 빼야 한다 풀이 코드 #include #include using namespace std; vector solution(long lon..
문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 문제 이해 long long형식으로 들어온 n을 각 자릿수별 내림차순으로 정렬해야하므로 string형식으로 변환한 다음 크기를 비교해 정렬하고 다시 long long형식으로 변환한다. 알고리즘 1. 정수 n을 입력받는다. 2. n을 문자열로 변환한다. 3. 인덱스별로 크기를 비교해 정렬한다. 4. 정수형으로 변환한다. 풀이 코드 #include #include using namespace std; long long solution(long..
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 문제 이해 n의 양의 제곱근이 정수인지 확인 후 정수이면 제곱근에 1을 더하고 제곱하여 리턴, 아니면 -1 리턴 알고리즘 1. 정수를 입력 받는다. 2. sqrt(n) - (int)sqrt(n) == 0이 참이면 pow(sqrt(n) + 1, 2) 리턴 3. 아니면 -1 리턴 풀이 코드 #include #include #include using namespace std; long long solut..
문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 문제 이해 가장 작은 수를 추출해서 제거한 후 배열의 길이를 확인하고 빈 배열이면 -1을 넣어 리턴 알고리즘 1. 배열을 입력 받는다. 2. 배열의 길이가 1일경우 -1을 리턴한다. 3. 배열의 크기만큼 반복하며 가장 작은 수를 구한다. 4. 그 수의 인덱스를 구한다. 5. 해당 인..
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 문제 이해 짝수면 2로 나누었을 때 나머지가 0이 되고 홀수면 1이된다. 알고리즘 if문으로 짝수면 "Even" 홀수면 "Odd"를 리턴함. 풀이 코드 #include #include using namespace std; string solution(int num) { if (num % 2 == 0) { return "Even"; } else { return "Odd"; } } https://school.programmers.co.kr/learn/courses/30/lessons/12937 프로그래머스 코드 ..