본문 바로가기

Algorithm/BackJoon49

11650번: 좌표 정렬하기 - 관련 사이트: 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 입력받은 x, y 좌표를 아래의 조건으로 정렬하는 문제이다. 1) x 좌표를 기준으로 오름차순 2) x 좌표가 동일할 경우, y 좌표를 기준으로 오름차순 sort 함수를 이용하되, 비교 기준을 직접 설정할 수 있도록 compare 함수를 선언하여 적용해주었다. #include #include #include using name.. 2023. 6. 5.
11651번: 좌표 정렬하기 2 관련 사이트: 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 "11650번: 좌표 정렬하기" 문제에서 조건만 조금 변경된 문제이다. 비교 기준이 y 이므로, pair.first 가 아닌 pair.second 기준으로 비교가 수행될 수 있도록 하였다. #include #include #include using namespace std; bool compare(pair prev, pair .. 2023. 6. 5.
9935번: 문자열 폭발 관련 사이트: https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net Stack을 이용하여 들어온 문자열 순서대로 비교하고 비교 완료된 문자열은 제거하는 형식으로 진행이 필요한 문제다. 아래와 같은 방법으로 문자를 비교하도록 한다. 1) 입력 받은 문자열의 첫번째 문자부터 마지막 문자까지 for문 수행 2) Stack에 문자 저장 3) Stack의 size >= 폭발 문자열의 길이? 조건을 만족한다면, 4) ~ 6)까지 수행 4) 폭발 .. 2023. 6. 4.
2750번: 수 정렬하기 관련 사이트: https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net "시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있습니다. 예를 들면 삽입 정렬, 거품 정렬 등이 있습니다." 단순하게 입력된 숫자들을 순차적으로 정렬하는 문제이다. 따라서, 입력받은 숫자를 vector에 저장한 뒤, sort 함수로 정렬시켜주도록 하였다. #include #include #include using namespace std; int main() { int N, n; v.. 2023. 6. 4.