Baekjoon
-
[java] 백준 알고리즘 2839번 설탕 배달 풀이 소스알고리즘/백준 알고리즘 2018. 4. 3. 11:08
사칙연산 종류 문제다. 고민하다가 5를 나눠보고 그 나머지 값들로 답을 찾으면 되겠다 싶었다. n을 5로 나눴을 때, 나머지가 1일 경우에는 몫에서 -1을 해주면 5+1을 만들어줄 수 있다. 즉, 6이 되기 때문에 3kg 봉지 2개에 담으면 된다. 나머지가 2일 경우에는 몫에서 -2를 해주면 10+2가 된다. 즉, 12가 되기 때문에 3kg 봉지 4개에 담을 수 있다. (단, n이 7일 경우에는 성립 안됨) 나머지가 3일 경우에는 그냥 3kg 봉지 1개 더 담아주면 된다. 나머지가 4일 경우에는 몫에서 -1을 해주면 5+4가 된다. 즉, 9가 되기 때문에 3kg 봉지 3개에 담을 수 있다.(단, n이 4일 경우에는 성립 안됨) 나머지가 0일 경우에는 5kg 봉지에 다 담아주면 된다. 그럼 4와 7 이외에..
-
[java] 백준 알고리즘 1934번 최소공배수 풀이 소스알고리즘/백준 알고리즘 2018. 4. 3. 11:03
난 문과에 비전공 출신이므로 수학을 싫어하진 않지만, 복잡한 공식을 잘 모르는 편이다. 최소공배수를 구하는 방법도 아래와 같은 방법 밖에 생각나지 않았다. 유클리드 호제법이라는 공식을 이용해 훨씬 빠른 코드를 만들어내시는 분들도 계셨지만, 내가 아는 지식으로 해답을 찾기 위해 고민해서 해결했다. 위에 올려둔 그림을 그대로 소스로 옮겨 놓으려고 애썼다. '컴퓨터가 인간처럼 대충 이 수가 들어가면 빠르겠다'같은 경우를 만들어주기 힘드니 숫자가 차례대로 올라가면서 나눠주는 방식으로 만들었다. 아래 풀이소스 * 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 public cl..
-
[java] 백준 알고리즘 1654번 랜선 자르기 풀이 소스(이분탐색)알고리즘/백준 알고리즘 2018. 4. 2. 20:57
이 문제도 역시나 생각없이 int로 선언하면 수도 없이 런타임에러를 맛 볼 수 있다. 생각해보면 long이 되는 변수가 많다. 그리고 문제를 제대로 읽지 않아서 에러를 계속 못 찾았는데, 최소값의 초기값을 0으로 선언한게 문제였다. 문제에서 랜선 길이는 자연수라고 했다. 그 말은 0이 아니라 1이 되어야 한다. 소스는 아래에~(설명은 주석 참고) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748public class Baekjoon1654 { public static void main(String[] args) throws IOException { BufferedReader br = new Buff..
-
[java] 백준 알고리즘 1546번 평균 풀이 소스알고리즘/백준 알고리즘 2018. 3. 30. 18:37
우리가 아는 평균을 구하는 것이지만, 문제에서 단순히 점수 총합/과목의 갯수가 아니라, 각각 받은 점수를 새로 계산해서 재정의하고 있다. 그리고 그 결과값의 평균을 구하는 문제이다. 아래는 소스. 123456789101112131415161718192021222324public class Baekjoon1546 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); // 과목의 개수 String[] preGradeArray = br.readLine..
-
[java] 백준 알고리즘 2805번 나무자르기 풀이 소스(이분 탐색)알고리즘/백준 알고리즘 2018. 3. 30. 17:51
여기서 minHeight와 maxHeight에 중간값이 들어갈 때 각각 +1, -1을 해주지 않으면 시간초과가 발생했다. 그리고 나무길이들의 총 합이 int 범위를 넘어갈 수도 있으므로 long을 선언해주었다.(이런 부분들 때문에 알고리즘을 풀 때마다 런타임에러를 수도 없이 보게 된다.) 설명은 주석으로 했다~ 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657public class Baekjoon2805 { public static void main(String[] args) throws IOException { BufferedReader br = new Buffer..
-
baekjoon(백준 문제) 11718번 해답코드(java) - 출처: baekjoon알고리즘/백준 알고리즘 2017. 9. 24. 22:44
백준 문제 11718번을 자바 코드로 구현해보았다. 문제: 입력 받은 대로 출력하는 프로그램을 작성하시오. 입력: 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. 출력: 입력받은 그대로 출력한다. 예제 입력: Hello Baekjoon Online Judge 예제 출력: Hello Baekjoon Online Judge java 답: 123456789101112131415161718import java.util.Scanner; public class Baekjoon11718 { public static void m..