목록백준 (183)
Study hard
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 � www.acmicpc.net [풀이] 회원의 가입순서, 나이, 이름으로 구성된 구조체를 vector의 원소로 하여 문제의 조건에 맞는 사용자함수를 만들어 sort의 세 번째 인수로 넣어서 해결할 수 있다. #include #include #include #include //sort using namespace std; struct Info { int signUp, age;//가입순서, 나이 string name;//이름 }; ..
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net C++ STL의 sort함수를 이용하여 해결할 수 있다. 다만, vector의 원소가 pair일 때 sort함수의 default는 먼저 first원소를 기준으로 오름차순 정렬을 하고, 만약 first원소가 같으면 second원소를 기준으로 오름차순 정렬을 하는 것이기 때문에, 다른 규칙으로 정렬을 하고싶으면 직접 사용자 함수를 만들어서 so..
https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net C++ STL의 sort함수를 써서 해결할 수 있다. ※default : pair을 원소로 하는 vector을 정렬할 때 먼저 first원소를 기준으로 오름차순 정렬을 하고, first원소가 같을 때는 second원소를 기준으로 오름차순 정렬을 해준다. #include #include #include //sort using namespace s..
https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net C++ STL의 sort()함수를 쓰면 쉽게 풀 수 있다. 다만 출력할 때 개행을 위해 endl을 쓰면 시간 초과가 나므로 '\n'을 써야 한다. #include #include //sort #include using namespace std; int N; vectorNum; void solution() { int n; cin >> N; for (int i = 0; i < N; i++..
https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ※점화식※ dp[i] : i개 카드 구매 위해 민규가 지불해야 하는 금액의 최댓값 dp[1] = P[1] dp[x] = max(P[x], (dp[x-j][j]중 최댓값)) (1≤j≤x/2) #include #include using namespace std; int N; long long P[1001]; long long dp[1001]; void DP() { dp[1] = P[1]; for (int i..
https://www.acmicpc.net/problem/2011 2011번: 암호코드 문제 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이� www.acmicpc.net 입력에 뛰어쓰기가 없고, 몇 자리수인지도 알려주지 않기 때문에 먼저 string으로 암호를 입력 받은 뒤에 int형 배열에 형변환 시켜 저장하는 방법을 썼다. ※점화식※ dp[i] : i번째 숫자까지 봤을 때 읽을 수 있는 단어의 개수 두 가지 경우가 있다. 1. i번째 숫자를 한자리 수로 따로 읽는 경우: dp[i] = dp[i-1]+dp[i] (조건:Code_Num[i]가 0이 아닌 한자리 자연..