Yeon DevLog

분류 전체보기 32

[백준/BOJ][JAVA] 23757 - 아이들과 선물상자

[문제 풀러 가기] 23757번: 아이들과 선물 상자 모든 아이들이 실망하지 않고 각자 원하는 만큼 선물을 가져갈 수 있으면 $1$을, 그렇지 않으면 $0$을 출력한다. www.acmicpc.net 📘 문제 상훈이는 N개의 선물 상자를 가지고 있다. 선물 상자에는 현재 담겨있는 선물의 개수가 적혀있다. 선물을 받을 아이들이 M명 있다. 아이들은 각자 1에서 M까지의 서로 다른 번호를 하나씩 부여받았다. 1번 아이부터 M번 아이까지 한 번에 한 명씩, 현재 선물이 가장 많이 담겨있는 상자에서 각자 원하는 만큼 선물을 가져간다. 이때, 앞서 누군가 선물을 가져갔던 선물 상자에서 또다시 가져가도 상관없다. 하지만 상자에 자신이 원하는 것보다 적은 개수의 선물이 들어있다면, 선물을 가져가지 못해 실망한다. 상훈..

Algorithm 2022.04.05

[Data Structure/자료구조][CS] 4. Heap

Heap 완전 이진트리로 구성된 자료구조 여러 값들 중 최솟값과 최댓값을 빠르게 찾는 연산에 최적화된 자료구조 느슨한 정렬 상태가 유지됨 중복 값을 허용(이진 탐색 트리에선 중복된 값을 허용하지 않음) 🔎 느슨한 정렬이란? : 완전한 정렬 상태도 아니지만, 정렬이 안되어 있지도 않은 상태 🔎 이진 탐색 트리란? : 정렬된 이진 트리, 부모 노드보다 작은 값은 왼쪽, 큰 값은 오른쪽으로 정렬(반대 가능), 중복 값 허용 안 함 1. 힙(Heap)의 종류 최대 힙(Max Heap) 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리 부모 Node >= 자식 Node 최소 힙(Min Heap) 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진트리 부모 Node 1) { ..

[Android Studio][Kotlin] 캘린더 Custom UI

😁 기존의 CalendarView가 아닌 CustomCalendar를 사용하고 싶을 때 참고해주세요 😁 Step 1. RecyclerView를 생성해주세요. 중첩 Recyclerview를 사용하여 캘린더를 생성하기 위해 가장 큰 Recyclerview를 생성해줍니다. Step 2. 가장 큰 뼈대인 MonthRecyclerView Item을 생성해줍니다. Step 3. 세부적인 날짜가 들어가는 DayRecyclerview Item을 생성합니다. 📢 여기서 ImageView 추가적으로 일정이 생성되었을 때, 표시를 해주기 위한 동그라미 포인트입니다! Step 4. 이제 어댑터를 생성합니다. 먼저 MonthAdapter입니다. package com.whitebear.customactivity import an..

[BOJ][백준][JAVA] 2668 - 숫자고르기

👩‍💻 문제 풀러 가기 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net 👩‍💻 문제 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1 이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절히 뽑으면, 그 뽑힌 정수들이 이루는 집합과, 뽑힌 정수들의 바로 밑의 둘째 줄에 들어있는 정수들이 이루는 집합이 일치한다. 이러한 조건을 만족시키도록 정수들을 뽑되, 최대로 많이 뽑는 방법을 찾는 프로그램을 ..

Algorithm 2022.01.27

[정보처리기사 필기] 애플리케이션 테스트 관리 - 1

1. Application Test 📘 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차 요구사항을 만족시키는지 확인, SW가 기능을 정확히 수행하는지 검증 필요성 실행 전 오류를 발견, 예방 가능 신뢰도 향상 최소한의 시간과 노력으로 많은 결함을 찾을 수 있음 기본 원리 완벽한 테스트 불가능 결함 집중 살충제 패러독스 : 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는다 테스팅 정황 의존 오류-부재의 궤변 테스트와 위험은 반비례 2. Application Test의 분류 ① 실행 여부 정적테스트 특징 - 프로그램을 실행하지 않는다 - 명세서 또는 소스코드를 대상으로 분석하는 TEST 종류 - 워크스루 : 전문가들이 검토 - 인스펙션 : 개발단계에서 산출된..

certificate 2022.01.25

[Android Studio][Kotlin] Custom Popup Menu

Fragment의 RecyclerView에 아이템으로 팝업 메뉴를 다는 방법을 연습해보겠습니다. 📙 완성본 📙 과정 1. RecyclerView에 Button을 만들어줍니다 저는 참고로 ImageButton으로 생성했습니다. 2. 이제 MenuItem도 만들어줍니다 이 부분은 res > menu 에 만들어줍니다! 3. Adapter에 클릭이벤트를 연결합니다 지금 진행중인 프로젝트에 사용된 코드여서 필요 없는 부분은 안 보셔도 돼요! more.setOnClickListener { val popup:PopupMenu = PopupMenu(context,more) MenuInflater(context).inflate(R.menu.board_menu_item, popup.menu) popup.show() pop..

[BOJ][백준][JAVA] 11724 - 연결 요소의 개수

👩‍💻 문제 풀러 가기 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 👩‍💻 문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 👩‍💻 문제 해결방법 계속해서 연결된 간선의 개수를 출력해내면 되는 문제다. 처음에 cycle을 확인하는 문제인 줄 알고 union-find로 풀었다가 문제를 다시 읽으니 그냥 총 연결된 간선의 개수만 return 하면 돼서 bfs로 풀었다.. ..

Algorithm 2022.01.25

[BOJ][백준][JAVA] 16562 - 친구비

[문제 풀기] 16562번: 친구비 첫 줄에 학생 수 N (1 ≤ N ≤ 10,000)과 친구관계 수 M (0 ≤ M ≤ 10,000), 가지고 있는 돈 k (1 ≤ k ≤ 10,000,000)가 주어진다. 두번째 줄에 N개의 각각의 학생이 원하는 친구비 Ai가 주어진다. ( www.acmicpc.net 📒 문제 19학번 이준석은 학생이 N명인 학교에 입학을 했다. 준석이는 입학을 맞아 모든 학생과 친구가 되고 싶어 한다. 하지만 준석이는 평생 컴퓨터랑만 대화를 하며 살아왔기 때문에 사람과 말을 하는 법을 모른다. 그런 준석이에게도 희망이 있다. 바로 친구 비다! 학생 i에게 Ai만큼의 돈을 주면 그 학생은 1달간 친구가 되어준다! 준석이에게는 총 k원의 돈이 있고 그 돈을 이용해서 친구를 사귀기로 했다..

Algorithm 2022.01.21

[Android Studio][안드로이드스튜디오] RecyclerView &Filterable & TabLayout

📙 주제 RecyclerView를 이용하면서 들어간 리스트들을 원하는 입맛에 맞게 TabLayout을 이용해 Filtering을 하고 싶은 상황이 생긴다. 이때, RecyclerView에 Filterable을 상속받아 사용하면 빠르게 해결할 수 있다. 📙 순서 더보기 전제조건 : RecyclerView를 다 연결했다. 1. RecyclerView에 Filterable을 연결한다 (Adapter) class AreaFilterAdapter (item:ArrayList) : RecyclerView.Adapter(), Filterable { private var unFilteredList = item private var filteredList = item private var context:Context?=..

[BOJ][백준] 13549 - 숨바꼭질 3

[문제 풀기] 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 📒 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을..

Algorithm 2022.01.20