본문 바로가기

발전/JAVA8

[백준] 1049 기타줄 JAVA 자바 해설 및 정답코드 문제 : https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net Day Of Mourning의 기타리스트 강토가 사용하는 기타에서 N개의 줄이 끊어졌다. 따라서 새로운 줄을 사거나 교체해야 한다. 강토는 되도록이면 돈을 적게 쓰려고 한다. 6줄 패키지를 살 수도 있고, 1개 또는 그 이상의 줄을 낱개로 살 수도 있다. 끊어진 기타줄의 개수 N과 기타줄 브랜드 M개가 주어지고, 각각의 브랜드에서 파는 기타줄 6개가 들어있는 패키지의 가격, 낱개로 살.. 2022. 4. 7.
[백준] 1292번 쉽게 푸는 문제 자바(JAVA) 문제 : https://www.acmicpc.net/problem/1292 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 동호는 내년에 초등학교를 입학한다. 그래서 동호 어머니는 수학 선행 학습을 위해 쉽게 푸는 문제를 동호에게 주었다. 이 문제는 다음과 같다. 1을 한 번, 2를 두 번, 3을 세 번, 이런 식으로 1 2 2 3 3 3 4 4 4 4 5 .. 이러한 수열을 만들고 어느 일정한 구간을 주면 그 구간의 합을 구하는 것이다. 하지만 동호는 현재 더 어려운 문제를 푸느라 바쁘기에 우리가 동호를 도와주자. 정답 코드 HT.. 2022. 4. 6.
[백준] 1002 터렛 풀이, 정답코드, 채점결과 중심의 좌표가 (x1, y1), 반지름이 r1인 원과 중심의 좌표가 (x2, y2), 반지름이 r2인 원의 접점의 개수를 구하는 문제이다. HTML 삽입 미리보기할 수 없는 소스 두 원이 완전히 일치하는 경우, 두 원이 멀어서 접하지 않는 경우, 한 원의 내부에서 접하지 않는 경우, 내접하는 경우, 외접하는 경우, 겹쳐서 두 점이 만나는 경우 이렇게 여섯가지 경우로 나눠서 풀었다. 알고리즘 초보라서 성능 개선을 위해 이것저것 시도해봤는데 이 이상 안줄어든다. 2022. 1. 31.
[백준]1010번 다리놓기 풀이 코드/입출력 방식에 따른 성능 개선 https://www.acmicpc.net/problem/1010 순서에 상관 없이 m개 중 n개를 고르는 조합 수를 묻는 문제다. 아래 공식을 사용한다. 재귀함수를 이용해 팩토리얼을 구하는 메소드를 따로 만들어서 풀었다. HTML 삽입 미리보기할 수 없는 소스 처음에 모든 타입을 int로 뒀는데 오류가 나서 출력을 해봤더니 팩토리얼 값이 음수로 나왔다. int 범위를 초과해서 그런 것이다. long을 사용해도 마찬가지여서 BigInteger를 사용했다. 백준 몇 문제 안풀어봤는데 범위때문에 BigInteger 쓸 일이 꽤 있는 것 같다. 다음은 입력을 Scanner 대신 BufferedReader로 받은 결과이다. 그 아래는 출력을 StringBuilder로 한번에 한 결과이다. 입출력이 빈번한 경우 .. 2022. 1. 31.