백준
백준 2108번 통계학 [ Java ]
2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 최빈값 문제라고 생각이 들 정도로 최빈값 처리가 까다로웠습니다.
백준 1037번 약수 [ Java ]
1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 주어진 값의 최댓값과 최솟값을 곱하면 약수가 됩니다.
백준 1110번 더하기 사이클 [ Java ]
1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = www.acmicpc.net
백준 3036번 링 [ Java ]
3036번: 링 문제 상근이는 창고에서 링 N개를 발견했다. 상근이는 각각의 링이 앞에 있는 링과 뒤에 있는 링과 접하도록 바닥에 내려놓았다. 상근이는 첫 번째 링을 돌리기 시작했고, 나머지 링도 같이 돌아간다는 사실을 발견했다. 나머지 링은 첫 번째 링 보다 빠르게 돌아가기도 했고, 느리게 돌아가기도 했다. 이렇게 링을 돌리다 보니 첫 번째 링을 한 바퀴 돌리면, 나머지 링은 몇 바퀴 도는지 궁금해졌다. 링의 반지름이 주어진다. 이때, 첫 번째 링을 한 바퀴 돌리면, www.acmicpc.net
백준 2609번 최대공약수와 최소공배수 [ Java ]
2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를,둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 유명한 유클리드 호제법이 있지만 얼마전에 BigInteger클래스에 gcd 메소드가 있다는걸 알게되어서 그걸 이용하였습니다.
백준 11653번 소인수분해 [ Java ]
11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 소인수분해는 엄청 빠른 알고리즘이 없기 때문에 채점할 때 테스트케이스가 계산되는 시간도 오래걸리는 것 같습니다.
백준 1541번 잃어버린 괄호 [ Java ]
1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. www.acmicpc.net 임의로 숫자를 써보았습니다. 3+2-3+4-3-3+4+5+3-4 이런 경우에 3+2-(3+4)-3-(3+4+5+3)-4 이렇게 계산한 것의 결과를 구해야 합니다. 그래서 1. 첫번째 -가 나오기 전까지 숫자들을 모두 더하고 2. 이후엔 -로 구분하여 사이의 숫자들을 모두 더하였습니다. - 추가적으로 문자열을 숫자로 바꿔주는 작업이 필요했습니다. 푸는 과정에서 "java.util.regex.Patte..
백준 11399번 ATM [ Java ]
11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 정렬 후 정렬된 값을 계단 식으로 더해 주었습니다.
백준 1931번 회의실배정 [ Java ]
1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 그리디 파트의 문제 입니다. 회의의 끝나는 시간을 기준으로 잡고 정렬 하였습니다. 끝나는 시간이 같을 경우는 시작시간이 빠른 순으로 정렬 하였습니다. 정렬이 완료 되면 기준으로 잡았던 끝나는 시간으로 비교해 방의 개수를 세어 줍니다.
백준 5086번 배수와 약수 [ Java ]
5086번: 배수와 약수 문제 4 × 3 = 12이다. 이 식을 통해 다음과 같은 사실을 알 수 있다. 3은 12의 약수이고, 12는 3의 배수이다. 4도 12의 약수이고, 12는 4의 배수이다. 두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오. 첫 번째 숫자가 두 번째 숫자의 약수이다. 첫 번째 숫자가 두 번째 숫자의 배수이다. 첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니다. 입력 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스 www.acmicpc.net 문제에서 나오는 순서대로 조건식을 세우면 됩니다.