코딩
-
[백준 - 14652번] 나는 행복합니다~ - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 12. 15:18
이번에는 BOJ의 14652번 문제 "나는 행복합니다~" 를 풀어보도록 하자 한화 이글스의 열렬한 팬인 욱제를 도와서, 잃어버린 티켓의 자리를 대신 찾아주면 된느 문제이다. 딱히, 프로그래밍 적인 능력보다는 수학만 할줄 알면 풀 수 있는 문제이다. 성공한 코드는 아래와 같다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStre..
-
[백준 - 2493번] 탑 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 18:10
이번에는 BOJ의 2493번 문제 "탑"을 풀어보도록 하자 Stack을 이용해서 풀면 간단하게 풀리는 문제이다. 일단, 탑의 높이(Height)와 그 때의 높이(Position)를 받아올 클래스를 만들어서 Stack이 해당 클래스를 받아오도록 만든다. 여기서 유의해야 될 점은 탑들의 높이는 1이상 100,000,000 이하의 정수이므로 long으로 받아와야 된다는 것과 탑들의 높이가 같을 때도 신호를 받을 수 있다는 점이다. 성공한 코드는 아래와 같다 import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new B..
-
[백준 - 14650번] 걷다보니 신천역 삼 (Small) - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 15:49
이번에는 BOJ의 14650번 문제 "걷다보니 신천역 삼(Small)"을 풀어보도록 하자 입력으로 N이 주어지고, 출력으로 N자리 3의 배수의 개수를 출력해주면 되는 간단한문제이다. 여기에서 유의해 줘야 될 점은 첫번째 자리에 0은 올 수 없다는 점이다. 이것을 유의해서 차례대로 {0, 1, 2}를 넣어주면서 연산을 진행해 주면 된다. 성공한 코드는 아래와 같다 import java.io.*; import java.util.*; public class sample { static int N = 0, ans = 0; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputS..
-
[백준 - 2003번] 수들의 합 2 -Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 15:44
이번에는 BOJ의 2003번 문제 "수들의 합 2"를 풀어보도록 하자 입력으로 수열의 개수 N, 마지막에 판별해 줄 값 M이 주어지고, 그다음 줄에 수열이 차례 대로 주어진다. 출력으로, 구간 합이 M이 되는 경우의 수를 출력하면 되는 문제이다. 반복문을 2번써서 풀어주면 되는 간단한 문제이다. 성공한 코드는 아래와 같다. import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new ..
-
[백준 - 17355번] Messi An-Gimossi - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 15:40
이번에는 BOJ의 17355번 문제 "Messi An-Gimossi"를 풀어보도록 하자 처음 이 문제를 딱 봤을 때, "모듈러 연산으로 풀면 되겠네!! 간단하네!!" 라고 생각하고, 이틀동안 문제가 안풀려서 끙끙 앓았다. 결국에 풀긴 했는데, 아래 코드보다 더 연산을 빠르게 할 수 있는 것 같아서 이 부분에 대해서는 더 생각해 봐야 될 것 같다. 이 문제를 풀기 위해서, 크게 3부분으로 나눠서 프로그램을 만들었다 소인수 분해를 통해서 분자, 분모가 서로소가 되도록 소인수들을 저장해 줄 HashMap 을 만들어줌 입력되는 값을 소인수 분해 해줘서, A를 소인수분해한 값이 map의 음수부(-)에 있으면 지워주고, B를 소인수 분해한 값이 map양수부(+)에 있으면 지워줌 map에 남아있는 것을 음수부(-)와..
-
[백준 - 13277번] 큰 수 곱셈 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 14:47
이번에는 BOJ의 13277번 문제 "큰 수 곱셈"을 풀어보도록 하자 언제나, 큰 수 라던지 연산이 많은 문제들을 접하면 잠시동안 머리에 망치맞은 듯이 멍해진다. 하지만, 시간복잡도를 줄이는 방법등을 제대로 알고 나면 매우 쉬운 문제들이 많다. 이번문제는 딱히 연산 줄이던가 하지 않더라도 Java로 문제를 풀면 java.math.BigInteger를 이용해서 간단히 풀 수 있다. 입력으로 정수 A, B가 주어지고, 출력으로 두수의 곱을 출력하면 되는 문제이다. 성공한 코드는 아래와 같다. import java.io.*; import java.math.BigInteger; import java.util.*; public class sample { public static void main(String[] ..
-
[백준 - 17363번] 우유가 넘어지면? - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 8. 6. 14:41
이번에는 BOJ의 17363번 문제 "우유가 넘어지면?" 을 풀어보도록 하자 위에 나와 있는 그림과 같이, "우유" 를 넘어 뜨려서 "아야"로 만들면 되는 문제이다.입력으로 주어지는 문자열들을 요리조리 잘 재배치 시키고, 문제에 나와 있는 표를 활용해서 풀면 된다. 성공한 코드는 아래와 같다. import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(ne..