본문 바로가기

전체 글411

[백준] 2443번 : 별 찍기 - 6 – JAVA [자바] https://www.acmicpc.net/problem/2443 2443번: 별 찍기 - 6 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net 문제 문제 풀이 백준 2443번 별 찍기 - 6은 브론즈 3 난이도의 구현 문제이다. 이 문제도 주어지는 패턴대로 별들을 출력하면 되는 문제이다. 이 문제에서는 우선 숫자 n이 주어졌을 때 2 × n - 1개에서 시작하고 별이 1개가 될 때까지 2개씩 줄여가면서 대칭을 이루게 출력하면 된다. 이 문제도 이중 for-loop을 이용해서 푼다. 바깥 for-loop은 i는 0부터 n-1까지이다. 그리고 안에는 2개의 for-loop이 또 있다.. 2022. 4. 26.
[백준] 9375번 : 패션왕 신해빈 – JAVA [자바] https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 문제 문제 풀이 백준 9375번 패션왕 신해빈은 실버 3 난이도의 수학 및 맵 문제이다. 이 문제에서는 의상의 종류들과 의상의 이름들이 주어진다. 한 종류는 겹쳐 입을 수가 없다. 이런 상황일 때 의상을 입을 수 있는 경우의 수를 구하는 문제이다. 우선 이 문제를 풀려면 공식을 구해야 한다. 일단 문제에서.. 2022. 4. 26.
[백준] 4358번 : 생태학 – JAVA [자바] https://www.acmicpc.net/problem/4358 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 문제 문제 풀이 백준 4358번 생태학은 실버 1 난이도의 문자열 및 맵을 이용한 자료 구조 문제이다. 이 문제에서는 나무의 이름들이 입력으로 주어진다. 이 문제에서는 입력이 언제 종료되는지 모르고 계속 들어오기 때문에 while-loop을 다음과 같이 써야 한다. 이렇게 쓰면 입력받은 것이 없으면 loop을 종료시킨다. BufferedReader br = new BufferedRead.. 2022. 4. 26.
[백준] 1269번 : 대칭 차집합 – JAVA [자바] https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 문제 문제 풀이 백준 1269번 대칭 차집합은 실버 3 난이도의 맵 문제였다. 이 문제에서는 2개의 집합 A, B가 주어진다. 그리고 A-B와 B-A 사이즈의 합을 더하면 된다. 이 문제는 HashMap과 ArrayList를 이용해서 풀겠다. 우선 입력받는 수들을 HashMap에 추가한다. HashMap은 로 선언하고 값은 딱히 필요 없어서 0으로 추가한다. 그리고 입력받는 수들도 Array.. 2022. 4. 26.
[백준] 14425번 : 문자열 집합 – JAVA [자바] https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 문제 문제 풀이 백준 14425번 문자열 집합은 실버 3 난이도의 문자열 및 맵 문제이다. 이 문제에서는 n개의 문자열이 주어지고 그다음에 주어지는 m개의 문자열 중에 몇 개가 n개의 문자열과 겹치는지를 출력만 해주면 되는 문제이다. 이 문제는 HashMap을 이용해서 풀겠다. HashMap을 잘 모르면 밑에 있는 링크를 참고하면 되겠다. https://proper.. 2022. 4. 26.
[자료구조] 해시맵 (HashMap) 목차 HashMap 이란? 우선 Map은 키와 값으로 구성된 Entry 객체를 저장하는 구조를 가지고 있는 자료구조이다. 영어 사전을 예로 들어보겠다. person은 사람, baseball은 야구란 뜻을 가지고 있다. 따라서 맵에는 다음과 같이 저장되어 있을 수 있다. 키 값 "person" 사람 "baseball" 야구 Map은 리스트나 배열처럼 순차적으로 해당 요소의 값을 구하지 않고 키를 통해 값을 얻는다. 이게 Map의 가장 큰 특징이기도 하다. 추가로 키는 중복이 불가능하고 동일한 키 값으로 값을 넣을 시 최근에 넣은 값이 적용된다. 주어진 예로 보면 baseball의 뜻을 찾을 때, 사전의 있는 내용들을 순차적으로 검색해서 찾는 게 아닌 baseball이라는 단어가 있는 곳만 찾는다는 것이다... 2022. 4. 26.
[백준] 2444번 : 별 찍기 - 7 – JAVA [자바] https://www.acmicpc.net/problem/2444 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 문제 문제 풀이 백준 2444번 별 찍기 - 7은 브론즈 3 난이도의 구현 문제이다. 이 문제에서도 마찬가지로 예제에서 n과 패턴이 주어지고 패턴에 나와있는 것처럼 별을 출력해주면 된다. 이 문제도 이중 for-loop을 이용해서 푼다. 우선 바깥 for-loop은 i = 1부터 시작하고 i = n까지이다. 우선 i가 1일 때, 스페이스가 4개가 있는 거를 볼 수 있다. 즉, j = 1부터 n - i까지인 for-loop을 만든다. 이 for-loop에서는 스페이스만 추가한다. 그리고 보면 i = 1일 때, *이 1개, i .. 2022. 4. 23.
[백준] 14607번 : 피자 (Large) – JAVA [자바] https://www.acmicpc.net/problem/14607 14607번: 피자 (Large) 예제1의 입력이 1이므로, 게임 시작부터 갑이 분리할 수 있는 피자탑이 없습니다. 따라서 갑이 얻는 즐거움은 0입니다. 예제2의 정답 3은 다음과 같은 과정을 통해 얻어집니다. 먼저 놀이를 시작 www.acmicpc.net 문제 문제 풀이 백준 14607번 피자 (Large)는 실버 3 난이도의 수학 문제이다. 이 문제의 알고리즘 분류에서는 DP도 같이 있지만 DP로는 못 푸는(?) 문제이다. 이 문제는 그리고 2017 아주대학교 프로그래밍 경시대회 (APC) Division 2에 나온 B2번 문제였다. 우선 문제에서 피자판의 개수 n이 주어진다. n의 범위는 1부터 10까지다. 피자판의 높이가 A라고 .. 2022. 4. 22.
반응형