일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구현
- MySQL
- 사칙연산
- 그리디알고리즘
- 정렬
- 백준
- SQL
- 이분탐색
- 자료구조
- 그리디
- 수학
- 다이나믹프로그래밍
- C++
- 큐
- 프로그래머스sql
- 소수판정
- 프로그래머스코딩테스트
- C언어
- 브루트포스알고리즘
- 백준알고리즘
- 문자열
- Image Classification
- 논문구현
- 정수론
- 해시를사용한집합과맵
- 논문리뷰
- C
- 프로그래머스
- 이진탐색
- 프로그래머스연습문제
- Today
- Total
목록정렬 (27)
초보 개발자의 이야기, 릿허브

1. 문제이해 1015번: 수열 정렬 (acmicpc.net) 1015번: 수열 정렬 P[0], P[1], ...., P[N-1]은 0부터 N-1까지(포함)의 수를 한 번씩 포함하고 있는 수열이다. 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 된다. 적용하는 방법은 B[P[i]] = A[i]이다. 배열 A가 주 www.acmicpc.net 주어진 배열 A에 수열 P를 적용한 결과가 비내림차순이 되는 수열을 찾는것이 목표이다. 2. 문제풀이 일단 문제를 이해하는것부터 난해했던 문제였다. 차라리 긴 예시 과정을 보여줬으면 좋았을텐데.. 문제에서, 수열 P를 길이가 N인 배열 A에 적용하면 길이가 N인 배열 B가 되고, 이때, B[P[i]] = A[i]이다. 주어진 배열 A에 수열 P를 ..

1. 문제이해 https://www.acmicpc.net/problem/2693 2693번: N번째 큰 수 첫째 줄에 테스트 케이스의 개수 T(1 testcase;// 테스트케이스의 갯수 for (int j = 0; j > arr[i]; } sort(arr, arr + 10); // 8번째 수 출력 (배열은 0부터 시작하므로 7) cout

1. 문제이해 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 길이가 N인 정수 배열 A와 B를 입력받아 S = A[0]×B[0] + ... + A[N-1]×B[N-1] 라고 할때, S의 최솟값을 구하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 A와 B의 원소들을 곱하여 모두 더해 나온 여러가지 경우의 값들(S) 중 최솟값을 찾아 출력하는 문제이다. S의 최솟값을 구하기 위해서는, A의 가장 작은 수부터 B의 가장 큰 수와 곱해..

1. 문제이해 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net N개의 숫자과 M개의 숫자를 입력받아, M개의 숫자 중에서 N개의 숫자 중 똑같은 값이 있으면 1, 없으면 0을 출력하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 문제 자체는 간단하다. N, M개의 숫자로 이루어진 수열을 입력받아, 수열 M의 숫자가 수열 N에 있으면 1, 아니면 0을 출력하면 된다. 처음 문제를 보았을 때, ..

1. 문제이해 https://www.acmicpc.net/problem/9237 9237번: 이장님 초대 입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000) www.acmicpc.net 상근이는 묘목을 심어 나무가 다 자랐을 때 이장님을 초대하려고 한다. (묘목 하나를 심는데는 1일이 걸린다.) 묘목의 수(N)와 각 묘목이 자라는데 걸리는 시간(t)을 입력받아, 이장님을 가장 빨리 초대할 수 있는 경우에 걸리는 시간을 계산하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 묘목 하나를 심는데 하루가 걸리니, 기본적으로 N개의 묘목을 심..

1. 문제이해 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 숫자의 갯수 N개와 몇 번째 숫자를 출력할 것인지인 K를 입력받는다. 이후, 숫자를 정렬했을 때의 K번째 숫자를 출력하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 숫자를 입력받은 뒤, 이를 정렬하고 K번째의 숫자를 출력하면 되는 비교적 간단한 문제이다. 주의해야 할 부분은, 입력받는 숫자의 갯수인 N의 범위인데, N의 범위가 0부터 5,000,000까지 이기때문에, 시간초과나 메모리 초과에 주의해 코드를 짜주었다. 3. 소스코..

1. 문제이해 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 정수를 입력받아, 각 자릿수를 내림차순으로 정렬하는 알고리즘을 구현하는 것이 목표이다. 2. 문제풀이 위 알고리즘을 구현하기 위해 두 가지 방법이 떠올라, 두 방법 모두 구현해보기로 했다. 첫번째 방법은, 정수를 입력받고 단순히 각 자릿수를 내림차순으로 정리하면 되는 거니까, 1. 9부터 0까지 내려오면서 일치하는 숫자가 있으면 그대로 출력하는 방식. 두번째 방법은, 정직하게 그대로 2. 값을 비교하여 정렬, 출력하는 방식이다. 첫번째 방식은 재학 중에 정렬을 구현하면서..