본문 바로가기

전체 글411

[백준] 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.
[백준] 10820번 : 문자열 분석 – JAVA [자바] https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 문제 문제 풀이 백준 10820번 문자열 분석은 브론즈 2 난이도의 구현 및 문자열 문제이다. 이 문제에서는 문자열 N개가 주어지고 각 문자열마다 소문자, 대문자, 숫자, 그리고 공백의 개수를 출력하면 된다. 우선 이 문제에서는 입력의 개수가 주어지지 않는다. 따라서, 문자열 입력을 받을 때 다음과 같이 하면 된다. String s; while ((s = br.readLine()) != nul.. 2023. 2. 26.
[백준] 10824번 : 네 수 – JAVA [자바] https://www.acmicpc.net/problem/10824 10824번: 네 수 첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000) www.acmicpc.net 문제 문제 풀이 백준 10824번 네 수는 브론즈 3 난이도의 수학, 구현 및 문자열 문제이다. 이 문제에서는 네 개의 자연수가 주어지고 A와 B를 합친 수와 C와 D를 합친 수의 합을 구하면 된다. 문제에서 주어진 예시를 보겠다. 10 20 30 40이 주어졌다. 첫 두 수를 합치면 1020이 되고 나머지를 합치면 3040이 돼서 합을 구하면 4060이 된다. 이 문제는 우선 StringTokenizer를 이용해서 네 개의 수를 입력받는다. 먼저 String형으로 입력받고 두 수를 .. 2023. 2. 19.
[백준] 11655번 : ROT13 – JAVA [자바] https://www.acmicpc.net/problem/11655 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 문제 문제 풀이 백준 11655번 ROT13은 브론즈 1 난이도의 구현 및 문자열 문제이다. 이 문제에서는 문자열이 주어졌을 때 "ROT13"으로 암호화한 내용을 출력하면 된다. 이 문제는 아스키코드를 이용해서 간단하게 풀 수 있다. 우선 ROT13 암호화란 한 문자를 13 글자씩 미는 암호화 방법이다. 예를 들어서 A는 13글자 밀어서 N이 되고, B는 13글자 밀어서 O가 된다. 다만, 이 문제에서는 대문자는 대문자로, 그리고 소문자는 소문자로 남아야 한다. 따라.. 2023. 2. 14.
[백준] 11047번 : 동전 0 – JAVA [자바] https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 문제 풀이 백준 11047번 동전 0은 실버 4 난이도의 그리디 문제이다. 이 문제에서는 동전의 종류 개수 N개와 이 동전들을 이용해서 만들어야 하는 총 합 K가 주어진다. 그리고 입력으로 동전의 가치들이 오름차순으로 주어진다. 이때, K원을 만드는데 필요한 최소 동전 개수를 구하면 된다. 우선 예를 보면서 한번 보겠다. EX .. 2022. 12. 2.
[백준] 14487번 : 욱제는 효도쟁이야!! – JAVA [자바] https://www.acmicpc.net/problem/14487 14487번: 욱제는 효도쟁이야!! 욱제는 KOI를 망친 기념으로 부모님과 함께 코드게이트 섬으로 여행을 떠났다. 코드게이트 섬에는 오징어로 유명한 준오마을(심술쟁이 해커 임준오 아님), 밥으로 유명한 재훈마을, 영중마을 등 www.acmicpc.net 문제 문제 풀이 백준 14487번 욱제는 효도 쟁이야!! 는 브론즈 2 난이도의 구현 및 그리디 문제이다. 이 문제에서는 마을 개수 n과 n개의 이동비용이 주어진다. 이때, 모든 마을을 관광하기 위해 필요한 최소 이동비용을 구하면 된다. 이 문제는 우선 모든 비용을 더한 다음에 가장 비용이 많이 드는 이동비용을 빼주면 된다. 자세한 코드는 아래에 있다. 코드 import java.io.*.. 2022. 11. 18.
반응형