본문 바로가기

전체 글376

[백준] 1822번 : 차집합 – JAVA [자바] https://www.acmicpc.net/problem/1822 1822번: 차집합 첫째 줄에는 집합 A의 원소의 개수 n(A)와 집합 B의 원소의 개수 n(B)가 빈 칸을 사이에 두고 주어진다. (1 ≤ n(A), n(B) ≤ 500,000)이 주어진다. 둘째 줄에는 집합 A의 원소가, 셋째 줄에는 집합 B의 원소 www.acmicpc.net 문제 문제 풀이 백준 1822번 차집합은 실버 4 난이도의 해시 및 정렬 문제이다. 이 문제에서는 집합 A의 원소의 개수 N개와 집합 B의 원소의 개수 M개가 주어진다. 이때 집합 A에는 속하면서 집합 B에는 속하지 않는 원소의 개수와 이 원소들을 오름차순으로 정렬해서 출력을 하면 된다. 이 문제에서는 집합 A에 있는 원소들이 먼저 주어지고 그다음에 집합 B에 .. 2023. 7. 26.
[백준] 20920번 : 영단어 암기는 괴로워 – JAVA [자바] https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net 문제 문제 풀이 백준 20920번 영단어 암기는 괴로워는 실버 3 난이도의 해시 및 정렬 문제이다. 이 문제에서는 N개의 단어와 단어의 단어의 길이 기준인 M이 주어진다. 이때 단어의 길이가 M인 것들 중에서 다음과 같은 기준으로 정렬을 한 후 출력을 하면 된다. 자주 나오는 단어일수록 앞에 배치한다. 해당 단어의 길이가 길수록 .. 2023. 7. 26.
[백준] 25192번 : 인사성 밝은 곰곰이 – JAVA [자바] https://www.acmicpc.net/problem/25192 25192번: 인사성 밝은 곰곰이 첫번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤 pjshwa와 chansol은 다시 곰곰티콘으로 인사했다. www.acmicpc.net 문제 문제 풀이 백준 25192번 인사성 밝은 곰곰이는 실버 4 난이도의 자료 구조 및 해시 문제이다. 이 문제에서는 N개의 채팅 방 기록이 주어진다. 그리고 채팅 기록은 ENTER나 아니면 유저의 닉네임이다. ENTER는 새로운 사람의 입장을 나타낸다. 이때, 새로운 사람이 입장한 이후 처음 채팅을 입력하는 사람은 반드시 곰곰티콘으로 인사를 한다. 그 외의 기록은 곰곰티콘을.. 2023. 7. 26.
[백준] 5568번 : 카드 놓기 – JAVA [자바] https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 문제 문제 풀이 백준 5568번 카드 놓기는 실버 4 난이도의 브루트포스 및 해시 문제이다. 이 문제에서는 N개의 숫자들이 주어지고 K개의 숫자를 이용해서 몇 개의 숫자를 만들 수 있는지를 구하면 되는 문제이다. 물론 다른 방법들도 있지만 이 풀이에서는 간단한 방식을 이용해서 풀어보려고 한다. 문제에서 주어진 조건은 바로 K(2 ≤ K ≤ 4)이다. 따라서, 이중, 삼중 그리고 사중 for-loop을 이용해서 풀 수 있다. 예를 들어서 이중 for-loop을 했을 때 숫자를 만들고 이 숫자를.. 2023. 7. 26.
[백준] 26069번 : 붙임성 좋은 총총이 – JAVA [자바] https://www.acmicpc.net/problem/26069 26069번: 붙임성 좋은 총총이 첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$ www.acmicpc.net 문제 문제 풀이 백준 26069번 붙임성 좋은 총총이는 실버 4 난이도의 자료 구조 및 해시 문제이다. 이 문제에서는 N개의 사람들이 만난 기록이 주어지고, 각 기록에는 두 명씩 있다. 그리고, 춤을 추고 있지 않은 사람이 춤을 추고 있는 사람을 만나게 되면 그 사람도 춤을 추게 된다. 처음에는 총총이만 (ChongChong) 춤을 추고 있다. .. 2023. 7. 25.
[백준] 2910번 : 빈도 정렬 – JAVA [자바] https://www.acmicpc.net/problem/2910 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net 문제 문제 풀이 백준 2910번은 실버 3 난이도의 정렬 및 해시 문제이다. 이 문제에서는 숫자 N개가 주어진다. 이때, 이 숫자들을 가장 자주 등장하는 빈도수대로 정렬을 하면 된다. 추가로, 등장하는 횟수가 같으면 먼저 나온 숫자가 앞에 나오게 하면 된다. 이 문제를 풀려면 우선 해시맵을 이용해서 숫자들의 빈도수를 입력받아야 한다. 이 빈도수는 나중에 정렬을 할 때 필요하다. 추가로, 아래에 있는 코드를 보면 알겠지만, 리스트를 2개 만.. 2023. 7. 25.
[백준] 20291번 : 파일 정리 – JAVA [자바] https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 문제 문제 풀이 백준 20291번 파일 정리는 실버 3 난이도의 문자열, 정렬, 해시 및 파싱 문제이다. 이 문제에서는 N개의 파일 이름들이 주어지고 이 파일 이름들의 확장자와 개수를 출력하면 된다. 그리고, 파일 확장자가 여러 개 있을 때 사전순으로 정렬해서 출력하면 된다. 이 문제는 두 가지 방식으로 풀겠다. 첫 번째 방식은 HashMap을 이용하는 방식이고 두 번째 방식은 TreeMap을 이용하는 .. 2023. 7. 18.
[백준] 1351번 : 무한 수열 – JAVA [자바] https://www.acmicpc.net/problem/1351 1351번: 무한 수열 첫째 줄에 3개의 정수 N, P, Q가 주어진다. www.acmicpc.net 문제 문제 풀이 백준 1351번 무한 수열은 골드 5 난이도의 DP 및 해시 문제이다. 이 문제 자체는 되게 간단하다. 3개의 정수 N, P, Q가 주어지고 아래에 있는 공식을 써서 An을 구하면 된다. 이 문제에서는 참고해야 할 게 있다. 우선 정수 N의 범위 0 ≤ N ≤ 10^12이다. 즉, 이 범위는 long 형이고 자바에서는 배열이 long 형인 크기로 만들지 못한다. 자세한 이유는 이 링크를 참고하면 되겠다. 즉, 값들을 배열에 저장을 할 수가 없기 때문에 해시맵에 저장해야 한다. 추가로, 이 문제는 Bottom-Up 방식을 이.. 2023. 7. 16.
반응형