본문 바로가기

백준667

[백준] 단계별로 풀어보기(단계:20,분할 정복,JAVA)11444번, 피보나치 수 6 문제 링크 11444번: 피보나치 수 6 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 분할 정복 알고리즘은 일정한 간격으로 입력된 값을 분할하여 조건에 맞는지 확인하고 틀리면 다시 일정한 간격으로 분할하는 것을 반복하여 조건에 만족할 때까지 진행하는 알고리즘입니다. 행렬 곱셈의 원리와 피보나치 수 점화식을 행렬로 표현하는 방법을 알면 풀 수 있는.. 2022. 2. 21.
[백준] 단계별로 풀어보기(단계:20,분할 정복,JAVA)10830번, 행렬 제곱 문제 링크 10830번: 행렬 제곱 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 분할 정복 알고리즘은 일정한 간격으로 입력된 값을 분할하여 조건에 맞는지 확인하고 틀리면 다시 일정한 간격으로 분할하는 것을 반복하여 조건에 만족할 때까지 진행하는 알고리즘입니다. 행렬 곱셈의 원리와 제곱의 곱셈을 분할 정복하는 방법만 알면 풀 수 있는 문제입니다. 행렬의 곱셈은 위키백과에 사진을 참고하며 설명하겠습니다. 행렬 곱셈 - 위키백과, 우리 모두의 백과사전 행렬.. 2022. 2. 20.
[백준] 단계별로 풀어보기(단계:20,분할 정복,JAVA)2740번, 행렬 곱셈 문제 링크 2740번: 행렬 곱셈 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 분할 정복 알고리즘은 일정한 간격으로 입력된 값을 분할하여 조건에 맞는지 확인하고 틀리면 다시 일정한 간격으로 분할하는 것을 반복하여 조건에 만족할 때까지 진행하는 알고리즘입니다. 행렬 곱셈의 원리를 알고 있으면 간단한 반복문으로 해결이 가능한 문제입니다.행렬의 곱셈은 위키백과에 사진을 참고하며 설명하겠습니다. 행렬 곱셈 - 위키백과, 우리 모두의 백과사전 ko.wikipe.. 2022. 2. 20.
[백준] 단계별로 풀어보기(단계:20,분할 정복,JAVA)11401번, 이항 계수 3 문제 링크 11401번: 이항 계수 3 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 분할 정복 알고리즘은 일정한 간격으로 입력된 값을 분할하여 조건에 맞는지 확인하고 틀리면 다시 일정한 간격으로 분할하는 것을 반복하여 조건에 만족할 때까지 진행하는 알고리즘입니다. 처음에 문제를 접근할 때에는 이항계수의 파스칼 트리를 통해서 접근하였지만 시간 초과 때문에 실패하였습니다. 그 이후에 분할 정복을 사용하려면 어떻게 해야하는지 고민하다가 구글링을 통해 해답을.. 2022. 2. 20.
[백준] 단계별로 풀어보기(단계:20,분할 정복,JAVA)1629번, 곱셈 문제 링크 1629번: 곱셈 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 분할 정복 알고리즘은 일정한 간격으로 입력된 값을 분할하여 조건에 맞는지 확인하고 틀리면 다시 일정한 간격으로 분할하는 것을 반복하여 조건에 만족할 때까지 진행하는 알고리즘입니다. 처음에 문제를 접근할 때에는 분할정복을 사용하지 않고 나머지를 구할 때에 반복하는 구간을 찾고 그 구간을 토대로 나머지를 구하는 방식을 사용해보았습니다. 하지만 결과는 제대로 나오지만 "메모리 부족"이.. 2022. 2. 18.
[백준] 단계별로 풀어보기(단계:20,분할 정복,JAVA)1780번, 종이의 개수 문제 링크 1780번: 종이의 개수 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 분할 정복 알고리즘은 일정한 간격으로 입력된 값을 분할하여 조건에 맞는지 확인하고 틀리면 다시 일정한 간격으로 분할하는 것을 반복하여 조건에 만족할 때까지 진행하는 알고리즘입니다. 조건에 맞는지 확인하고 일정한 간격으로 나눌 수 있도록 재귀를 사용하여 구현할 것입니다. 문제를 살펴보면 종이를 적절한 크기로 자른다는 내용을 살펴보면 분할한다는 내용과 동일합니다. 해결 알고리.. 2022. 2. 18.