- 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 |
- 비주얼 베이직
- 코딩테스트
- sql
- Java
- 알고리즘
- 파이썬
- 공유대학
- til
- 백준
- 자료구조
- 안드로이드 스튜디오
- 안드로이드
- C언어
- 배열
- 구글 로그인
- android studio
- 동적할당
- python
- 프로그래밍 입문
- Firebase
- 프로그래머스
- 컴퓨터공학과
- firebase google
- 연결리스트
- 로그인
- C++
- 자바
- 정렬
- oauth
목록분류 전체보기 (191)
코딩하는 해달이
문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력..
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 문제 이해 배열 내의 수를 더한 후 배열의 크기만큼 나누어준다. 알고리즘 arr 요소 sum에 더하기 → sum을 arr.size()로 나누기 → 출력 풀이 코드 #include #include #include using namespace std; double solution(vector arr) { double answer = 0; double sum = 0; for (int i = 0; i < arr.size(); i++) { sum += arr[i]; } answer..
문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 문제 이해 1이상 10000이하인 x가 자릿수의 합으로 나누어 떨어지는지 확인해야한다. x가 10000이하이기 때문에 자동 형 변환을 이용해 10000의 자릿수(10000도 포함하기 때문)부터 (x / 1000), (x % 1000) / 100, (x % 100) / 10, (x % 10)로 자릿수를 구해서 더한 후에 x와 나누었을 때, 나누어지는지 아닌지 판별하면..
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number는 길이 4 이상, 20이하인 문자열입니다. 문제 이해 길이가 4이상 20 이하인 문자열의 뒷 4자리를 제외한 나머지 숫자를 전부 *로 바꾸어야 한다. 따라서 전체 문자열의 길이와 뒤의 4자리만 무슨 숫자인지 알면 문자열의 길이에서 4를 뺀 만큼 *을 넣고, 남는 자리에 4자리의 숫자를 넣으면 된다. 알고리즘 뒤의 4자리 다른 벡터에 저장하며 원본 벡터에서 삭제 → 원본 벡터를 하나씩 지우면..
문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 문제 이해 2차원 벡터를 좌표로 생각하고 나타냈을때의 행렬의 덧셈은 같은 좌표끼리의 합과 같다. 알고리즘 i = 0, j = 0 → answer[i][j] = arr1[i][j] + arr2[i][j] → for (int j = 0; j
문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 문제 이해 x부터 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴 x = 2 , n = 5 라고 할 때, 리스트는 [2,4,6,8,10] 이 리턴되어야하고, 이를 식으로 바꾸면 2 * 1, 2 * 2, 2 * 3, 2 * 4, 2 * 5 이므로 x 에 1부터 n까지의 수를 곱해서 리스트에 넣으면 된다. 알고리즘 i = 1 → answer.push_back(x * i) → ..
문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 코드 설명 바깥 for문은 열을, 안쪽 for문은 행을 나타낸다 풀이 코드 #include using namespace std; int main(void) { int n; int m; cin >> n >> m; for(int i = 0; i < m; i++){ for(int j = 0; j < n; j++){ cout