백준알고리즘
-
[백준 - 1436번] 영화감독 숌 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 7. 9. 21:21
백준 알고리즘 1436번 영화감독 숌 문제를 Java로 풀어보자 살짝 문제를 이해하기가 힘들 수도 있다 영화감독 숌 씨는 네이밍 센스가 오지게 없으셔서 영화제목을 꼭 세상의 종말 + 666이 들어가게 만드신다는데, 두번째 편은 1666, 세번째 편은 2666, ... , 일곱번째 편은 6660, 여덟번째 편은 6661, ... 이렇게 만드신다는 건데, 살짝 생각하기 어려울 수도 있다. 여기서 적용시킨 알고리즘은 브루트포스로 완전탐색을 해서 문제를 풀었다. 성공한 코드는 다음과 같이 작성했다. import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { Bu..
-
[백준 17300번] 패턴 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 7. 9. 20:34
BOJ의 가장 최신문제인 17300번 패턴을 풀어보자 일단, 문제가 오지게 길다 풀어서 설명해 보자면, 안드로이드의 패턴 형식이 적절한지 아닌지 판단하는 문제로, 일단 3X3 으로 구성된 잠금화면이 주어진다. 입력으로 주어지는 수열을 통해 유효한 패턴이면 "YES" 를 아니면 "NO" 를 출력하면 되겠다 일단 주어진 수가 중복되는지 알려줄 boolean배열인 numberDup, 이전 수를 집어넣을 pre, 답이무엇인지 체크해줄 chk를 먼저 지정해주고, amhoChk(int cur) 이라는 함수를 만들어서 계산을 진행했다. 계산은 정말 하드하게 하나하나 일일이 생각해서 안될경우 될경우 모두 코드로 나타내 주었다... 문제에 관한 생각법 자체를 간단하게 해서 코드가 길어지고 더러워 졌지만, 좀만 다듬으면 ..
-
[백준 17293번] 맥주 99병 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 6. 29. 17:34
BOJ 천하제일 코딩대회예선 C번 문제인 맥주 99병을 풀어봅시다 아니, 거 문제가 너무 긴거 아니오?? 일단 문제를 쉽게 해석해보면 처음에 자연수 N이 입력으로 주어지고, 처음에 벽에 K = N 만큼의 맥주 병이 있고, K bottles of beer on the wall, K bottles of beer. Take one down and pass it around, K-1 bottles of beer on the wall. K = 0 이 될때 까지 K를 빼주면서 위에 문장을 출력해주면 된다 예외상황으로, K = 2 일 때, 2 bottles of beer on the wall, 2 bottles of beer. Take one down and pass it around, 1 bottle of beer..
-
[백준 4949번] 균형잡힌 세상 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 6. 29. 17:03
이 세상이 균형잡힌 세상인지 알아봅시다 문제를 보자마자 LIFO 방식으로 접근하면 쉽게 풀 수 있을 것 같아서 stack을 이용했습니다 '(' 와 '[' 을 입력받았을 때 stack 에다가 집어넣고, ')' 와 ']' 를 입력 받을 때 stack에서 집어넣은 값을 꺼내서 균형잡혀 있는지 확인해 줬습니다 if(c == '(' || c == '['){ stack.add(c); } else if(c == ')'){ if(!stack.empty() && stack.pop() == '(') continue; else { chk = false; break; } } else if(c == ']') { if(!stack.empty() && stack.pop() == '[') continue; else { chk = f..
-
[백준 15596번] 정수 N개의 합 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 6. 27. 17:16
백준알고리즘(BOJ) 15596번 문제를 풀어보도록 합시다 이런 문제를 처음 접해본 사람들은 살짝 난감할 수도 있을 문제네요 위에 제출버튼을 눌러보면 소스코드가 나와있습니다. 여기에다가 코드를 더해서 제출하면 되는 문제입니다 총 길이가 n인 a행렬 전부를 더해주면 됩니다. a행렬의 길이가 주어지지 않았으니 a.length로 a행렬의 길이를 구해주고 ans에다가 a행렬의 각 값들을 더해주면 되겠네요 문제자체는 간단하죠? public class Test { long sum(int[] a) { long ans = 0; for(int i = 0; i < a.length; i++){ ans += a[i]; } return ans; } } 간단데쇼 문제 : https://www.acmicpc.net/problem/..
-
[백준 10171번] 고양이 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 6. 26. 15:25
백준알고리즘 10171번 고양이를 풀어보자 그냥 출력만하면 되는 초간단 문제이다. 초간단한 친구들만 풀면 머리속에 복잡한 생각들이 좀 정리 되는 것 같아 이런 문제들을 많이 풀게 되는 것 같다;;; 실력이 잘 안 늘었던게 이런 문제만 풀어서 그런 것 같기도... 코드는 이렇게 작성했다 import java.io.*; import java.util.*; public class sample{ public static void main(String[] args) throws Exception { System.out.println("\\ /\\\n ) ( ')\n( / )\n \\(__)|\n"); } } 간단간단 문제 : https://www.acmicpc.net/problem/10171
-
[백준 1000번] A+B - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 6. 26. 15:14
백준 알고리즘의 1번 문제 (백준알고리즘은 1000번 부터 시작한다) 입출력 방식과 정수형 처리만 알면 풀 수 있는 아주 쉬운 문제되시겠다. import java.util.*; public class sample{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println(sc.nextInt() + sc.nextInt()); sc.close(); } } 최대한 코드길이를 줄여서 한번 해보니 이런 간단한 문제에 108ms나 걸리다니...... 코드를 살짝 바꾸어보자 import java.io.*; public class sample{ public static void main(String[] ..
-
[백준 2753번] 윤년 - JAVA //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 6. 26. 15:04
백준 알고리즘 2753번 윤년을 풀어보자 일반적으로 우리가 사는 1년은 365일 인데, 윤년일 경우 2월이 29일이 되어서, 366일이 된다. 4년에 1번씩 이 주기가 반복 되는데 예외가 존재한다. 이러한 연도와 윤년과의 관계에 대해 얘기해 주는 문제이다. 문제 자체는 매우 쉽다. "윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다." 를 그대로 코드로 바꾸어 주면, (연도를 a 로 정의한다) a % 4 == 0 && (a % 100 != 0 || a % 400 == 0) 와 같이 나타내 줄 수 있다. 윤년이면 "1" 을 윤년이 아니면 "0" 을 출력해야 되므로, 전체 코드는 import java.io.*; import java.util.*; public class s..