전체 글

전체 글

    BOJ 2004 조합 0의 개수 [Java]

    BOJ 2004 조합 0의 개수 1. 문제 링크 https://www.acmicpc.net/problem/2004 2. 문제 해설 어떤 숫자 n의 끝자리 0의 개수는 n을 소인수분해 했을 때 10을 얼마나 가지고 있느냐와 같다. 10을 얼마나 가지고 있느냐는 2 x 5 쌍을 얼마나 가지고 있느냐를 의미한다. 소인수분해를 했을 시 2와 5를 모두 가지고 있을 때, 2와 5의 갯수 중 작은 값이 2 x 5 쌍의 갯수와 같다. nCm = n! / (r! x (n - r)!) 이다. 우리는 조합의 값을 구할 필요는 없다. 단지 2와 5의 갯수만 구하면 정답을 구할 수 있다. n! / (r! x (n - r)!) 에서 2의 갯수를 어떻게 구할 수 있을까? n! / (r! x (n - r)!) 의 2의 갯수 = n..

    BOJ 1676 팩토리얼 0의 개수 [Java]

    BOJ 1676 팩토리얼 0의 개수 1. 문제 링크 https://www.acmicpc.net/problem/1676 2. 문제 해설 중고등학교 때 배웠던 수학의 기본 내용과 관련된 문제이다. 어떤 숫자 n의 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수는 n을 소인수분해 했을 때 10을 얼마나 가지고 있느냐와 같다. 10을 얼마나 가지고 있느냐는 2 x 5 쌍을 얼마나 가지고 있느냐를 의미한다. 예를 한번 들어보겠다. 240의 경우 소인수분해하면 2^4 x 3 x 5 이다. 2는 4개나 있지만 함께 짝을 맞춰줄 5는 1개 뿐이다. 즉, 2와 5를 모두 가지고 있다면 2와 5의 갯수 중 작은 값이 2 x 5 쌍의 갯수와 같다. 이제 팩토리얼에서 2 x 5 쌍의 갯수를 구하는 것을 어떻게 처리할..

    [Spring Boot] SpringApplication 파일 위치

    프로젝트를 하다가 SpringApplication 파일 위치를 바꾸어 오류가 났던 경험이 있다. 간단한 오류이지만 한번 정리해본다. 클래스 명은 사용자의 설정에 따라 달라지지만 파일 코드의 큰 틀은 아래와 같다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } @SpringBootApplication 어노테이션을 통해 스프링 빈을 읽어와 자동으로 생성해준다. 기본 설정으로 이 파일이 있는 위치부터 찾아 읽어가기 시작하므로 따로 설정을 해줄 것이 아니라면 프로젝트의 최상단에 위치해주는 것이 좋다.

    MySQL ERROR 1045 (28000): Access denied for user 'root' @'localhost ' (using password: YES) 오류 해결

    로컬 서버에서 MySQL을 접속하려고 하였는데 위와 같이 에러가 났다. ERROR 1045 (28000): Access denied for user 'root' @'localhost ' (using password: YES) 이 에러는 비밀번호가 틀렸을 때 발생하는 에러인데 나는 분명히 권한도 제대로 주었고 비밀번호도 확실하게 확인하여 제대로 적었는데 왜 오류가 난지 도통 이유를 알 수 없었다. 2일 가량을 MySQL을 삭제하고 다시 깔아도 보는 등의 수 많은 시도를 해봤지만 결국 해결하지 못했었다. 그러다가 머리 속에 127.0.0.1로 접근하는 와중에 문제가 생긴 게 아닐까라는 생각을 스쳐지나갔고 그것이 맞았다. netstat -ano 명령어를 통해 port를 확인해보았고..

    BOJ 1149 RGB거리 [Java]

    BOJ 1149 RGB거리 1. 문제 링크 https://www.acmicpc.net/problem/1149 2. 문제 해설 DP문제를 풀 때는 개인적으로 점화식을 세우는 것이 절반 이상이라고 생각한다. 일단 문제를 이해해보자. 문제를 읽어보면 각 집마다 빨강, 초록, 파랑 3가지 색 중 1개를 선택해서 칠할 수 있다. 또 추가적인 조건이 있는데 아래와 같다. - 1번 집의 색은 2번 집의 색과 같지 않아야 한다. - N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. - i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 복잡하게 쓰여있지만 결국 말하고자하는 바는 이웃한 집과는 색이 달라야한다는 것이다. 구하고자 하는 정답은 위 조건을 만족하면서 모든 집을 칠하..