개인공부/코딩테스트(103)
-
백준 10986 번 : 나머지 합 / C++
10986번: 나머지 합 (acmicpc.net) 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 구간합 아이디어의 응용문제이고 처음 풀이에서 자료형을 int 를 사용했는데 범위를 초과해서 long long 으로 수정하니 해결 되었다. 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 #include ..
2023.02.23 -
백준 16139: 인간-컴퓨터 상호작용 / C++
16139번: 인간-컴퓨터 상호작용 (acmicpc.net) 16139번: 인간-컴퓨터 상호작용 첫 줄에 문자열 $S$가 주어진다. 문자열의 길이는 $200,000$자 이하이며 알파벳 소문자로만 구성되었다. 두 번째 줄에는 질문의 수 $q$가 주어지며, 문제의 수는 $1\leq q\leq 200,000$을 만족한다. 세 번째 www.acmicpc.net 문자열을 입력받고 문자 한칸마다 알파벳의 호출정보를 저장하여 해결하였다. 다른방법으로는 해당 문자의 인덱스 정보만을 기억해서 풀이가능하지만 찾는과정에서 너무 조건이 까다로워지기때문에 패스하였다. 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 ..
2023.02.23 -
백준 1920번 : 수 찾기 / C++
1920번: 수 찾기 (acmicpc.net) 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 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 #include #include using namespace std; int main() { cin.tie(NULL); cout.tie(NULL); ios::sync_with_stdio(f..
2023.02.22 -
백준 2156번 : 포도주 시식 / C++
2156번: 포도주 시식 (acmicpc.net) 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 계단오르기와 유사한 방법으로 풀이하였다. 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 #include using namespace std; int arr[10003][2]; int main() { int max = 0; int n = 0; cin ..
2023.02.22 -
백준 10844번 : 쉬운 계단 수 / C++
10844번: 쉬운 계단 수 (acmicpc.net) 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 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 #include using namespace std; int main() { int arr1[10] = {}; for (int i = 0; i > N; for (int i = 0; i
2023.02.22 -
백준 1463번: 1로 만들기 / C++
1463번: 1로 만들기 (acmicpc.net) 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 처음 접근방법은 현재 입력값에서 한칸씩 내려가면서 찾을려고 했는데 실수한 부분이 낮은수와 높은 수를 비교할때 낮은 수의 경우에만 계산했기때문에 문제를 해결하지 못했다. 그래서 이번에는 반대로 역순으로 배열을 만들어서 문제를 해결하였다. 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 #include #inclu..
2023.02.21