Java(160)
-
[Baekjoon] 10988번: 팰린드롬인지 확인하기
https://www.acmicpc.net/problem/10988 10988번: 팰린드롬인지 확인하기 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 문제 설명 지난번에 이어 팰린드롬과 관련된 문제이다. 이 문제는 주어진 문자열이 팰린드롬인지 확인하고 맞다면 1, 아니라면 0을 출력하면 된다. 팰린드롬은 level과 같이 앞뒤로 읽어도 똑같은 문자열을 말한다. 풀이 방법 입력받은 문자열을 절반으로 자르고 뒷부분을 뒤집은 뒤 앞부분과 비교하는 방식으로 해결하였다. package baekjoon.string; import java.io.*; public class BOJ10988 { public sta..
2023.03.13 -
[Baekjoon] 1213번: 팰린드롬 만들기
https://www.acmicpc.net/problem/1213
2023.03.12 -
[Baekjoon] 14889번: 스타트와 링크
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 설명 N명의 사람들이 짝수로 주어진다. 같은 인원으로 두 팀으로 나누어 축구를 하려 한다. 이때 양 팀의 인원들은 서로의 팀 능력치가 있다. 양 팀의 실력이 비슷해야 게임이 재미있기 때문에 양 팀의 팀 능력치 차이가 가장 적을 때 그 차이를 출력해야 한다. 풀이 방법 DFS로 해결했다. 포인트는 인덱스와 팀원을 구성한 횟수를 파라미터로 넘겨서 종료 조건을 체크하는 것이다. 그리고 종료 후에 다시 방문했던 곳을 f..
2023.03.10 -
[Baekjoon] 1926번: 그림
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 문제 설명 1과 0으로 구성된 그림 배열이 주어진다. 1로 이어진 것이 그림이다. 상하좌우로만 연결된 것으로 판단하며 대각선은 이어진 것이 아니다. 주어진 배열에서 그림 개수와 가장 크기가 큰 그림의 크기를 출력하면 된다. 풀이 방법 기본적인 그래프 탐색 문제이며 DFS와 BFS로 문제를 해결할 수 있다. DFS for (int i = 0; i < n; i++) { for (int j = 0; j < ..
2023.03.09 -
[Baekjoon] 1269번: 대칭 차집합
https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 문제 설명 두 집합 A, B가 주어질 때 ( A - B ) 와 ( B - A ) 의 합집합을 대칭 차집합이라고 한다. 이 대칭 차집합의 원소 개수를 구하면 된다. 풀이 방법 1. HashSet 집합이라는 문제에 걸맞게 HashSet으로 해결했다. 먼저 HashSet에 집합 A의 원소를 모두 넣는다. 그 다음 B의 원소를 넣을 때 이미 Set에 들어있다면 해당 요소를 제거하고 없다면 넣으면 된..
2023.03.08 -
[Baekjoon] 1620번: 나는야 포켓몬 마스터 이다솜
https://www.acmicpc.net/problem/1620 문제 설명 문제가 엄청나게 길지만 요약하면 다솜이가 사용할 포켓몬 도감을 만들어줘야 한다. N개만큼 포켓몬 이름이 입력되며 순서가 있고 순서대로 저장된다. 그 다음 입력되는 질문 M개에 대해서 대답해야 한다. 숫자로 들어오는 경우 해당 번호에 해당되는 포켓몬 이름이 출력되고 포켓몬 이름이 들어오면 해당 번호가 출력돼야 한다. 풀이 방법 2개의 HashMap을 이용해 해결했다. 한 개는 번호를 키로 사용하고 값을 포켓몬 이름을 저장하고, 다른 하나는 키로 포켓몬 이름을 사용하고 값으로 번호를 저장한다. 그 다음엔 질문이 숫자인지 포켓몬 이름인지 판별해야 하는데 이 방법으론 두 가지가 있다. matches()를 활용한 정규식 첫 글자만 가져와..
2023.03.07