[2018 홍익대학교 프로그래밍 경진대회] 16394번 홍익대학교
문제 홍익대학교는 1946년에 개교하였다. 특정 년도가 주어졌을 때, 그 해가 개교 몇 주년인지 출력하라. 단, 홍익대학교는 없어지지 않는다고 가정한다. 문제는 C, C++, JAVA 또는 Python3을 이용하여 해결한다. C 입력 scanf 사용 정수 %d, 실수 %f, 문자열 %s 사용 scanf("%d", &var); 출력 정수 %d, 실수 %f, 문자열 %s 사용 예) printf("%d", var); 필수 라이브러리 stdio.h C++ 입력 cin 사용 예) cin >> var; 출력 cout 사용 예) cout > N; cout
[해싱] 백준 10840번 구간 성분
문제 매 초마다 신호를 발생시키는 두 장치 A, B가 있다. 이 신호는 알파벳 소문자의 서열로 표현된다. A, B로부터 발생한 신호를 서열로 표시한 SA, SB의 예는 다음과 같다. SA = [a, f, c, d, r, d, e, s, d, c, f, w, s, z, r] SB = [g, e, d, s, r, d, d, e, m, z, r] 신호 서열의 어떤 구간에 포함된 문자의 종류와 개수가 순서에 상관없이 동일하면 이 두 ‘구간의 성분’은 같다고 한다. 아래에서 박스로 표시된 부분은 두 신호 SA, SB에서 성분이 같은 구간을 나타내고 있다. 즉 위의 예와 같이 성분이 같은 구간의 길이는 두 서열에서 반드시 같아야 한다. 그리고 같은 성분 의 구간은 하나 이상 존재할 수 있다. 우리는 두 신호 서열에..
[해싱] 백준 7453번 합이 0인 네 정수
문제 정수로 이루어진 크기가 같은 배열 A, B, C, D가 있다. A[a], B[b], C[c], D[d]의 합이 0인 (a, b, c, d) 쌍의 개수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. 출력 합이 0이 되는 쌍의 개수를 출력한다. 브루트 포스로 4중포문을 돌면서 하면 시간초과 발생. A B C D 4개의 배열을 2개씩 묶는다 그래서 A B의 합을 저장한 AB (N*N 사이즈) C D 합을 저장한 CD를 두고 정렬을 한다 AB인덱스는 0부터 CD 인덱스는 idx부터 투포인터로 반대방향으로 내려오면서..