[알고리즘] 백준 1018 체스판 다시 칠하기 (브루트포스 알고리즘)
·
1.프로그래밍/알고리즘
https://www.acmicpc.net/problem/1018 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8×8 크기의 체스판으로 잘라..
[알고리즘] 백준 9020번 골드바흐의 추측 (에라토스테네스의 체, 소수 알고리즘)
·
1.프로그래밍/알고리즘
https://www.acmicpc.net/problem/9020 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은..
[Java] Factory Method Pattern 이란? (디자인 패턴, 간단한 예제)
·
1.프로그래밍/Java
[Java] Factory Method Pattern 이란? (디자인 패턴, 간단한 예제) [Java] Singleton Pattern 이란? (디자인 패턴) 이전 글에서 Singleton Pattern에 대해 공부를 하고 글을 작성해 두었다. 위의 글에서 작성하였듯이 디자인 패턴은 크게 3가지로 분류되는데 생성패턴, 구조패턴, 행위패턴이다. 그 중 오늘 작성할 Factory Method Pattern은 생성패턴에 속한다. Factory Method Pattern 이란? 팩토리 메서드 패턴(Factory method pattern)은 객체지향 디자인 패턴이다. Factory method는 부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며. 자식(하위) 클래스가 어떤 객체를 생성할지를 결..
[알고리즘] 백준 2869번 달팽이는 올라가고 싶다 Java
·
1.프로그래밍/알고리즘
https://www.acmicpc.net/problem/2869 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. Code import java.io.BufferedReader; import java.io.InputStreamReader; i..
[Java] Singleton Pattern 이란? (디자인 패턴)
·
1.프로그래밍/Java
[Java] Singleton Pattern 이란? (디자인 패턴) 디자인 패턴이란? 디자인 패턴이란 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 문제들을 해결하기 위한 패턴들을 정의해 놓은 것이다. 그 중 GoF 디자인 패턴이 가장 유명하며, GoF 디자인 패턴은 크게 3가지로 분류된다. 객체의 생성과 관련된 Creational Pattern 생성패턴, 클래스나 객체를 조합하여 더 큰 구조를 만드는 Structural Pattern 구조패턴, 클래스 혹은 객체 사이의 책임분배에 대한 Behavioral Pattern 행위패턴이 존재한다. 그 중 Singleton Pattern은 생성패턴에 속한다. Singleton Pattern 이란? 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나..
[알고리즘] 백준 1193번 분수찾기 Java
·
1.프로그래밍/알고리즘
https://www.acmicpc.net/problem/1193 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. Code import java.io.BufferedReader; im..
[알고리즘] 프로그래머스 폰켓몬 Java
·
1.프로그래밍/알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/1845 문제 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있..
[알고리즘] 백준 2941번 크로아티아 알파벳 Java
·
1.프로그래밍/알고리즘
https://www.acmicpc.net/problem/2941 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다. 입력 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-',..
MyeongDev
'1.프로그래밍' 카테고리의 글 목록 (5 Page)