본문 바로가기
  • 개발 삽질 블로그

분류 전체보기89

백준 4375: 1 (JAVA) / 모듈러 연산 분배 법칙 https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 이 문제는 수학 문제이다. 나머지 연산자를 사용하여 단순히 계속 나누면 타임 아웃이 발생한다. 이 문제를 풀려면 나머지 연산의 분배법칙에 대해 알아야 한다. (A + B) % p = ((A % p) + (B % p)) % p (A * B) % p = ((A % p) * (B % p)) % p (A - B) % p = ((A % p) - (B % p) + p) % p %연산은 위와 같은 분배 법칙이 성립한다. 4375에 적용해보면 1, 11, 111, 111.. 2022. 8. 12.
보안 동아리 4주차 과제 2022. 8. 12.
보안 동아리 2주차 과제 2022. 8. 12.
보안 동아리 과제 1주차 2022. 8. 12.
백준 1316: 그룹 단어(JAVA) / https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 단어가 그룹 단어인지 판별하는 check라는 함수를 따로 만들었다. 그룹 단어이면 1을 반환하고 아니면 0을 반환해 카운팅해주면 된다. i번째 문자를 ch라 할 때 ch가 다음 인덱스의 문자와 다르다면, 그 이후부터는 ch가 문자열에 있으면 안된다. 따라서 i+1부터 마지막까지 잘라낸 문자열에 ch가 포함되어 있는지 검사하는 것을 [마지막 인덱스 - 1]까지 실행하.. 2022. 8. 10.
백준 1920: 수 찾기 / 이진 탐색(binary search) https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 시간 단축을 위해 이분 탐색 알고리즘을 이용하였다. 수를 n개 입력 받아 정수형 배열에 담은 후 Arrays.sort()로 오름차순 정렬을 해준다. 그 후 수를 입력 받아 이분 탐색 함수로 넘겨 배열 안에 있는지 판별하는 것을 m번 반복하면 된다. *이분탐색(이진탐색, binary search) 정렬되어 있는 수 들 중에서 key값을 찾으려고 할 때.. 2022. 8. 9.