본문 바로가기

전체 글376

[백준] 2776번 : 암기왕 – JAVA [자바] https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 문제 문제 풀이 백준 2776번 암기왕은 실버 4 난이도의 자료 구조 및 해시 문제이다. 이 문제에서는 먼저 수첩 1에 있는 정수 N개가 주어지고 그다음에 수첩 2에 있는 정수 M개가 주어진다. 이때, 수첩 2에 있는 숫자들 중에서 수첩 1에도 있으면 1을 출력하면 되고, 없으면 0을 출력하면 된다. 문제에서 주어진 예시를 한번 보겠다. 수첩 1에는 4 1 5 2 3이 있다. 그리고 수첩 2에는 1 3.. 2023. 7. 12.
[백준] 11652번 : 카드 – JAVA [자바] https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 문제 문제 풀이 백준 11652번 카드는 실버 4 난이도의 정렬 및 해쉬 문제이다. 이 문제에서는 N개의 숫자들이 주어지고 가장 빈도수가 높은 숫자를 출력하면 된다. 문제에서 주어진 예제를 예시로 들어보겠다. 5개의 숫자가 주어지고 이 5개의 숫자들이 1 2 1 2 1이라고 해보겠다. 1이 3개, 2가 2개가 있으므로 가장 많이 나온 수는 1이다. 따라서 1을 출력하면 된다. 이 문제에서는 .. 2023. 7. 12.
[백준] 1629번 : 곱셈 – JAVA [자바] https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 문제 문제 풀이 백준 1629번 곱셈은 실버 1 난이도의 수학 및 분할 정복 문제이다. 이 문제에서는 자연수 A, B, C가 주어진다. 이때 (A^B) % C를 구하면 된다. 이 문제는 간단한 거듭제곱처럼 보이지만 그렇게 간단하지만은 않다. 이 이유는 문제에서 0.5초 시간제한이 있다. 그래서 이 문제는 Math.pow를 사용해서 풀 수가 없다. 이제 그 이유를 설명해 보겠다. 예를 들어서 E ^ a를 구해보겠다. 기본 Math.pow의 코드는 다음과 비슷하다... 2023. 4. 25.
[백준] 2217번 : 로프 – JAVA [자바] https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 문제 풀이 백준 2217번 로프는 실버 4 난이도의 수학 및 그리디 문제이다. 이 문제에서는 들 수 있는 물체의 중량이 다를 수 있는 로프 N개가 주어진다. 그리고 로프를 병렬로 연결하면 로프에 걸리는 중량을 나눌 수 있다. 이 문제에서 k개의 로프를 사용하여 중량이 w인 물체를 들어 올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다고 주어졌다. 이때 로프 N.. 2023. 4. 25.
[백준] 1931번 : 회의실 배정 – JAVA [자바] https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 문제 풀이 백준 1931번 회의실 배정은 실버 1 난이도의 그리디 및 정렬 문제이다. 항상 그리디 문제들을 공부하고 풀어야지 풀어야지 생각만 했다가 학교에서 CSE2310 Algorithm Design이라는 과목에서 그리디 알고리즘에 대해 배우고 시험도 끝난 다음에 드디어 문제들을 조금 풀게 되었다. 이 문제는 그리디에서 가장 기본적인 문제인 거 같다. 학교에서도 그리디를 처음 배울 때 접했던 문제가 이런 문제였다. 학교에서 배울 때 이런 문제를 'Interval Scheduling'이라고 한다고 배웠다. .. 2023. 4. 25.
[백준] 15829번 : Hashing – JAVA [자바] https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 문제 문제 풀이 백준 15829번 Hashing은 브론즈 2 난이도의 문자열 및 해싱 문제이다. 이 문제에서는 소문자로만 이루어진 문자열이 1개가 주어지고 이 문제에서 주어진 해시함수를 써서 구한 해시값을 출력하면 된다. 문제에서 주어진 해시함수는 다음과 같다. 여기서 r은 31, 그리고 M은 1234567891이다. 이 문제에서는 L의 값은 1부터 100까지 가능하다. 따라서, 수가 매우 커질.. 2023. 3. 12.
[백준] 1373번 : 2진수 8진수 – JAVA [자바] https://www.acmicpc.net/problem/1373 1373번: 2진수 8진수 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. www.acmicpc.net 문제 문제 풀이 백준 1373번 2진수 8진수는 브론즈 1 난이도의 수학 및 문자열 문제이다. 이 문제에서는 2진수가 하나 주어지고 이 2진수를 8진수로 변환시키면 된다. 우선 2진수를 8진수로 변환할 때는 세 자리씩 나눠서 8진수로 변환하면 된다. 문제에서 주어진 예시로 예를 들어보겠다. 2진수 11001100을 8진수로 변환할 때 뒤에서 부터 세 자리씩 나누면 된다. 11, 001, 100로 세 자리씩 나눈 다음에 11은 3이 되고 001은 1이 되고 그리고 100은 4가 된다. 따라서, 이 2진.. 2023. 2. 27.
[백준] 2338번 : 긴자리 계산 – JAVA [자바] https://www.acmicpc.net/problem/2338 2338번: 긴자리 계산 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미). www.acmicpc.net 문제 문제 풀이 백준 2338번 긴자리 계산은 브론즈 5 난이도의 수학 문제이다. 이 문제는 되게 간단하다. 이 문제에서는 입력으로 2개의 수 A, B가 주어지고, A + B, A - B, 그리고 A * B의 값을 구하면 된다. 이 문제는 되게 간단하나, 정답률은 50%가 안 된다. 아마도 이 이유는 입력으로 주어진 수가 상당히 클 수가 있기 때문일 것이다. 따라서, int나 long을 써도 int.. 2023. 2. 27.
반응형