백준
-
문제 출처: https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 숫자를 오름차순으로 정렬한다 음수, 0, 1, 양수 부분을 나눠서 큐에 저장한다. 양수부분 큐는 poll을 했을때 제일 큰 값이 올 수 있도록 셋팅해준다 음수부분 큐를 하나씩 빼면서 2개 빠질때마다 곱해서 답에 더해준다 음수부분 큐가 비었을 경우 음수 1개가 남아 있다면 0부분 큐를 확인해 0이 존재하면 그냥 넘어가고 0이 존재하지 않으면 나머지 음수1개를 답에 더해준다 양수부분 큐..
[BOJ/백준 - 1744] 수 묶기문제 출처: https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 숫자를 오름차순으로 정렬한다 음수, 0, 1, 양수 부분을 나눠서 큐에 저장한다. 양수부분 큐는 poll을 했을때 제일 큰 값이 올 수 있도록 셋팅해준다 음수부분 큐를 하나씩 빼면서 2개 빠질때마다 곱해서 답에 더해준다 음수부분 큐가 비었을 경우 음수 1개가 남아 있다면 0부분 큐를 확인해 0이 존재하면 그냥 넘어가고 0이 존재하지 않으면 나머지 음수1개를 답에 더해준다 양수부분 큐..
2022.01.11 -
문제 출처:https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 항상 아이디어 생각하는게 힘들고 오래걸리는거 같다... 1. 입력부분에서 마감시간, 과제점수를 입력받는데 입력받으면서 제일 큰 마감시간을 기억해두었다가 해당 값을 길이로 하는 결과 계산용 배열을 만든다 2. 입력받은 마감시간, 과제점수을 과제점수를 기준으로 내림차순 정렬해준다 3. 아이디어는 - '점수가 높은 애들은 무조건 하고싶은데 어떻게 될지 모르기때문에 될 수 있으면 마감시간에 가깝게 처리한다' 4. 3을 바탕으로 구현 ㄱㄱ..
[BOJ/백준 - 13904] 과제문제 출처:https://www.acmicpc.net/problem/13904 13904번: 과제 예제에서 다섯 번째, 네 번째, 두 번째, 첫 번째, 일곱 번째 과제 순으로 수행하고, 세 번째, 여섯 번째 과제를 포기하면 185점을 얻을 수 있다. www.acmicpc.net 항상 아이디어 생각하는게 힘들고 오래걸리는거 같다... 1. 입력부분에서 마감시간, 과제점수를 입력받는데 입력받으면서 제일 큰 마감시간을 기억해두었다가 해당 값을 길이로 하는 결과 계산용 배열을 만든다 2. 입력받은 마감시간, 과제점수을 과제점수를 기준으로 내림차순 정렬해준다 3. 아이디어는 - '점수가 높은 애들은 무조건 하고싶은데 어떻게 될지 모르기때문에 될 수 있으면 마감시간에 가깝게 처리한다' 4. 3을 바탕으로 구현 ㄱㄱ..
2022.01.11 -
문제 출처:https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 나는 앞의 점수를 오름차순 정렬 후 맨 앞을 기준 데이터로 저장했다 다음 원소를 비교하면서 기준 데이터와 뒤 점수를 비교해서 (앞의 점수는 정렬이 되었기 때문에 비교하지 않는다) 기준 데이터가 더 작을 경우 temp값을 올려주고 기준 데이터가 더 클 경우 현재 확인중인 원소를 기준데이터로 옮겨준다 그리고 해당 문단의 첫번째로 가서 반복한다 속도가 매우 느리게 통과했..
[BOJ/백준 - 1946] 신입 사원문제 출처:https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 나는 앞의 점수를 오름차순 정렬 후 맨 앞을 기준 데이터로 저장했다 다음 원소를 비교하면서 기준 데이터와 뒤 점수를 비교해서 (앞의 점수는 정렬이 되었기 때문에 비교하지 않는다) 기준 데이터가 더 작을 경우 temp값을 올려주고 기준 데이터가 더 클 경우 현재 확인중인 원소를 기준데이터로 옮겨준다 그리고 해당 문단의 첫번째로 가서 반복한다 속도가 매우 느리게 통과했..
2022.01.10 -
문제 출처: https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 입력 받고 회의 종료 시간을 기준으로 한 오름차순 정렬 + 회의 종료 시간이 같을 경우 시작시간을 오름차순 정렬 문제 입력 조건에 정확히 시작시간 종료시간 에 대한 입력은 없는거 같다 정렬 후 종료 시간과 다음 데이터의 시작시간을 비교하면서 가능한 회의를 최대한 늘려간다
[BOJ/백준 - 1931] 회의실 배정문제 출처: https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 입력 받고 회의 종료 시간을 기준으로 한 오름차순 정렬 + 회의 종료 시간이 같을 경우 시작시간을 오름차순 정렬 문제 입력 조건에 정확히 시작시간 종료시간 에 대한 입력은 없는거 같다 정렬 후 종료 시간과 다음 데이터의 시작시간을 비교하면서 가능한 회의를 최대한 늘려간다
2022.01.09 -
문제 출처:https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net Deqeue를 2개 만들어 현재 커서 위치 기준으로 왼쪽 데이터, 오른쪽 데이터를 나눠서 문제의 조건대로 문자를 왓다리 갓다리 하면 된당
[BOJ/백준 - 1046] 에디터문제 출처:https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net Deqeue를 2개 만들어 현재 커서 위치 기준으로 왼쪽 데이터, 오른쪽 데이터를 나눠서 문제의 조건대로 문자를 왓다리 갓다리 하면 된당
2022.01.09 -
문제 출처: https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 5로 나눠지면 5로 나누고 아니면 계속 3으로 빼면 된다! 그 후 잔여 설탕이 있으면 -1 없으면 구한 정답 출력
[BOJ/백준 - 2839] 설탕 배달문제 출처: https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 5로 나눠지면 5로 나누고 아니면 계속 3으로 빼면 된다! 그 후 잔여 설탕이 있으면 -1 없으면 구한 정답 출력
2021.09.30