본문 바로가기

분류 전체보기273

백준 > 9711번 > 피보나치 - JAVA 문제 피보나치 수열은 아래와 같이 표현된다. 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 각 숫자는 앞의 두 숫자의 합으로 나타내는 것을 알 수 있다. P와 Q 그리고 n이 주어질 때, P번째 피보나치 숫자를 Q로 나눈 나머지를 구하여라. 입력 첫 번째 라인에는 정수 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 정수 P와 Q가 주어진다. 출력 각 테스트 케이스마다 "Case #x: M" 형식으로 출력한다. x는 테스트 케이스 번호(1부터 시작), M은 P번째 피보나치 숫자를 Q로 나눈 나머지이다. 제한 1 ≤ P ≤ 10,000 1 ≤ Q ≤ 2,000,000,000 코드 import java.math.BigInteger; import java.util.*; import java.. 2023. 6. 2.
프로그래머스 > 동적계획법(Dynamic Programming) > 정수 - JAVA 문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 코드 class Solu.. 2023. 6. 1.
Git >> init, add, rm, commit, log 어... 음 일단 공부하면서 적는거라 틀린 정보가 있을 수 있습니다. 내용이 모잘랍니다. (나중에 계속에서 보충할 계획 -> 할 수 있겠지?) 출처 - https://www.zerocho.com/category/Git/post/580f633046f4fe09815b72a5 제로초(zerocho) 라는 분의 강의를 보고 작성합니다. 0. 준비 연습에 사용할 폴더를 만드세요. 저 같은 경우에는 c 드라이브에 gitExample 이라는 폴더를 만들었습니다. 그리고 그 안에 연습용 파일인 git.html 깃 연습 깃의 사용 방법에 대해 알아봅시다 git.css @css h1 { font-size: 2rem; } p { font-size: 1rem; } 1. git init - 깃 준비 init .. 2023. 5. 2.
할 줄 모르면 혼나는 Git >> Git 공부 해봅시다. 부끄럽지만 이 블로그의 주인은 깃을 못해요. 더럽게 못합니다. 거의 못해요. 그냥 못해요. 그래서 오늘 팀원인 동생한테 혼났습니다. 그래서 숙제로 깃을 공부해오기로 했기에 기록을 남겨 보기로 했습니다. 가보자구욧! 2023. 5. 2.
백준 > 17471번 > 게리멘더링 - JAVA 문제 백준시의 시장 최백준은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 최백준은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 백준시로 변경했다. 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 백준시는 N개의 구역으로 나누어져 있고, 구역은 1번부터 N번까지 번호가 매겨져 있다. 구역을 두 개의 선거구로 나눠야 하고, 각 구역은 두 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. 구역 A에서 인접한 구역을 통해서 구역 B로 갈 수 있을 때, 두 구역은 연결되어 있다고 한다. 중간에 통하는 인접한 구역은 0개 이상이어야 하고, 모두 같은 .. 2023. 4. 12.
백준 > 1786번 > 찾기 - JAVA > KMP 알고리즘 문제 워드프로세서 등을 사용하는 도중에 찾기 기능을 이용해 본 일이 있을 것이다. 이 기능을 여러분이 실제로 구현해 보도록 하자. 두 개의 문자열 P와 T에 대해, 문자열 P가 문자열 T 중간에 몇 번, 어느 위치에서 나타나는지 알아내는 문제를 '문자열 매칭'이라고 한다. 워드프로세서의 찾기 기능은 이 문자열 매칭 문제를 풀어주는 기능이라고 할 수 있다. 이때의 P는 패턴이라고 부르고 T는 텍스트라고 부른다. 편의상 T의 길이를 n, P의 길이를 m이라고 하자. 일반적으로, n ≥ m이라고 가정해도 무리가 없다. n0) { //System.out.println(list); for(int i : list){ sb.append(i).append(" "); } } System.out.println(sb); }.. 2023. 4. 4.