알고리즘 문제풀이/백준134 [백준 1181] 단어 정렬 www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net map 소팅을 사용해봤다. 문제에서 모든 단어는 한번만 등장하게 조건을 걸어서 map을 사용하여 소팅을 진행했다. 맵을 소팅하는 방법은 맵을 벡터에 담아서 벡터를 소팅하는 것이다. 이 때 compare함수는 map의 자료형으로 소팅하면 된다. #include #include #include #include #define pp pair using namespace std; map mp; bool compare.. 2020. 11. 28. [백준 7785] 회사에 있는 사람 www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 1. 맵을 사용 #include #include using namespace std; int n; map mp; int main(void) { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 0; i > name >> status; if .. 2020. 11. 28. [백준 1253] 좋다 www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 투포인터 문제 처음 접근: 정렬을 한 후 0부터 i-1번째 사이에서 두 개의 합 == arr[i]를 찾는다. 틀림 -> 음수도 존재하기 때문에 -5 5 15에서 5를 찾는다면 15도 체크해야함. 따라서 0부터 n-1까지 모든 정렬된 배열을 순회하면서 arr[i]값을 찾는다. 단, l이나 r이 i와 같은 경우엔 값을 바꿔줘야 한다. #include #include using namespace std; int arr[2000]; int mai.. 2020. 11. 27. [백준 2467] 용액 www.acmicpc.net/problem/2467 2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 용액 합성하기 문제와 매우 유사하다. 차이가 있다면 0에 가까운 합이 되는 값 자체를 묻는 거 정도? sum을 확인하면서 l과 r이 업데이트 되기 때문에 처음에 result를 업데이트 시켜야 한다. //용액 #include #include #include using namespace std; int arr[100000]; int result = INT_MAX, left, right; int main(voi.. 2020. 11. 27. 이전 1 ··· 25 26 27 28 29 30 31 ··· 34 다음