본문 바로가기

Algorithm

(2139)
(C++) - 백준(BOJ) 11931번 : 수 정렬하기 4 https://www.acmicpc.net/problem/11931 11931번: 수 정렬하기 4 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 간단한 정렬 구현 문제였습니다. 12345678910111213141516#include #include using namespace std;int a[1000000];int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; for (int i = 0; i > a[i]; //greater 내림차순 함수 sort..
(C++) - 백준(BOJ) 1764번 : 듣보잡 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 영어 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다. www.acmicpc.net 풀이 1 : 중복을 제거하고 사전순으로 정렬해주는 set이라는 자료구조를 사용했습니다. 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 #include #include #include ..
(C++) - 백준(BOJ) 11004번 : K번째 수 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 단순 정렬 문제 였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; int a[5000001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n,k; cin >> n >> k; for (int i = 0; i > a[i]; sort(a, a + n); cout
(C++) - 백준(BOJ) 1789번 : 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 서로 다른 n개의 자연수의 합이 s n의 최대 : 가장 작은 수부터 더해서 s가 될 경우 12345678910111213141516171819202122#include #define ll long longusing namespace std;int main() { ll n; ll ans = 0; ll sum = 0; cin >> n; for (ll i = 1; sum
(C++) - 백준(BOJ) 1652번 : 누울 자리를 찾아라 https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net ..X..일 경우 ....X일 경우를 잘 처리해줘야 합니다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 #include using namespa..
(C++) - 백준(BOJ) 2857번 : FBI https://www.acmicpc.net/problem/2857 2857번: FBI 문제 5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오. FBI요원은 요원의 첩보원명에 FBI가 들어있다. 입력 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. 출력 첫째 줄에 FBI 요원을 출력한다. 이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를 www.acmicpc.net find함수는 찾은 문자열의 위치(iterator값)를 반환해주는 함수이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ..
(C++) - 백준(BOJ) 15969번 : 행복 답 https://www.acmicpc.net/problem/15969 15969번: 행복 모든 서브태스크에서 2 ≤ N ≤ 1,000이고 입력되는 학생들의 점수는 0 이상 1,000 이하의 정수이다. www.acmicpc.net abs()함수는 인자의 절대값을 반환해주는 함수입니다. Code #include #include #include using namespace std; int main() { int n; int ans = 0; int student[1001]; cin >> n; for (int i = 1; i > student[i]; for (int i = 1; i
(C++) - 백준(BOJ) 2846번 : 오르막길 https://www.acmicpc.net/problem/2846 2846번: 오르막길 문제 상근이는 자전거를 타고 등교한다. 자전거 길은 오르막길, 내리막길, 평지로 이루어져 있다. 상근이는 개강 첫 날 자전거를 타고 가면서 일정 거리마다 높이를 측정했다. 상근이는 가장 큰 오르막길의 크기를 구하려고 한다. 측정한 높이는 길이가 N인 수열로 나타낼 수 있다. 여기서 오르막길은 적어도 2개의 수로 이루어진 높이가 증가하는 부분 수열이다. 오르막길의 크기는 부분 수열의 첫 번째 숫자와 마지막 숫자의 차이이다. 예를 들어, 높이가 다음과 같은 www.acmicpc.net 1234567891011121314151617181920212223242526#include #include using namespace ..