본문 바로가기

java150

[BAEKJOON] 11444 피보나치 수 6 문제 요약 알고리즘 분류: 수학, 분할정복, 재귀 호출 난이도: Gold2 문제내용: 피나치수 결과를 1,000,000,007로 나눈 나머지를 구해라 사이트 : https://www.acmicpc.net/problem/11444 11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제풀이 이번 문제는 좀 수학적인 지식이 있어야 풀수가 있다. 그 이유는 데이터의 크기가 조단위이고 나머지 1억인점을 생각하면 일반적인 모듈러 연산을 이용해도 시간 초과가 나올것이다. 파이썬의 초당 처리속도는 2000만정도라고 생각하면 방법이 O(logN)방법 .. 2022. 11. 24.
[BAEKJOON] 10830 행렬 제곱 문제 요약 알고리즘 분류: 수학, 재귀호출, 분할정복 난이도: Gold2 문제내용: 행렬의 N 제곱을 구한뒤 각 원소마다 1,000을 나눈 나머지를 구해라. 사이트 : https://www.acmicpc.net/problem/11401 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제풀이 이번 문제 내용는 2가지만 알면 쉽게 풀수 있다고 생각한다. 첫번째는 행렬 제곱을 처리 하는 방법이다. 행렬 제곱은 행렬 곱셈만 구현 하면 되기 때문에 밑에 사이트에 문제 풀어보거나 복습하면 풀수가 있다. https://jih3508.t.. 2022. 11. 24.
[BAEKJOON] 5585 거스름돈 문제 요약 알고리즘 분류: 그리디 난이도: Bronze2 문제내용: 잔돈은 500, 100, 50, 5, 1 있다. 내가 가진돈은 1000엔 지폐 한 장을 내면 거스름돈 받아야 최소 개수를 구해라. 사이트: https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제풀이 이번 문제는 그리디 알고리즘 중 그리디 알고리즘이다. 그리디 알고리즘의 관련 내용은 아래 사이트에 확인 해보면 되고 예제중에 거스름돈이 있으니 그것 확인 해보면 .. 2022. 11. 23.
[BAEKJOON] 2740 행렬 곱셈 문제 요약 알고리즘 분류: 구현 난이도: Silver5 문제내용: 두개의 행렬을 주어지면 행렬 곱셈 한 결과를 구해라. 사이트: https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net 문제풀이 이번 문제는 고등학교 수학에 나오는 행렬 연산 문제이다. 행렬 곱셈 공식만 알면 문제 푸는데는 어려움이 없으니까 바로 밑에 코드보고 공부하면된다. 코드 보기전에 행렬 곱셈에 대한 원리를 알고 보면 될거 같다. Code Python N, M = .. 2022. 11. 21.
[BAEKJOON] 16099 Larger Sport Facility 문제 요약 알고리즘 분류: 구현 난이도: Bronze5 문제내용 각 케이스와 2팀 가로, 세로 길이준다. TelecomParisTech, Eurecom 중 면적이 더 큰것 출력한다. 만약 동점이면 Tie 출력한다. Code Python for _ in range(int(input())): lv, wv, le, we = map(int, input().split()) if(lv * wv == le * we) : print("Tie") elif(lv * wv > le * we): print("TelecomParisTech") else: print("Eurecom") Java import java.io.BufferedReader; import java.io.IOException; import java.io.In.. 2022. 11. 19.
[BAEKJOON] 14581 팬들에게 둘러싸인 홍준 문제 요약 알고리즘 분류: 문자열, 구현 난이도: Bronze5 문제내용: 예제처럼 입력받은 값을 중간에 넣으면된다. Code Python string = input() print(":fan::fan::fan:") print(":fan::" + string + "::fan:") print(":fan::fan::fan:") Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(.. 2022. 11. 18.