본문 바로가기
반응형

분류 전체보기145

Android Palette Component 정리 1. Text, Buttons 안드로이드 팔레트 텍스트 버튼 정리 Text 1. TextView 화면에 텍스트를 표시해주는뷰 2. Plain Text 화면에 수정을 할 수 있는 텍스트를 표시해줌 hint를 통해 힌트를 주고 그에 대한 정보를 입력을 받는데 사용 3. Password 4.Password (Numeric) 똑같이 비밀번호를 받지만 숫자로만 입력을 받을 수 있게 한다. 키보드로 표시되는 자판의 종류가 달라짐 5. E-mail Plain Text와 같은 기능이지만 좌측 하단에 “,”에서 “@”가 추가된 텍스트 키보드로 표시가 됨으로써 이메일 입력할때 사용이 된다. 6. Phone 화면 숫자 키보드가 표시되어 전화번호를 입력할때 사용 7.Postal Address 우측 하단에 키보드가 Plain text와 달리 체크로 표시됨 .. 2022. 11. 20.
Android Manifest 개념 확립(App Component : activity, service, broadcast receiver, content provider / Intent) Manifest란? 모든 앱 프로젝트 안드로이드 빌드 도구, 운영체제 및 Google play에 앱에 관한 필수 정보를 설명합니다. 모든 반드시 소스세트 루트에 AndroidManifest.xml파일을 가져야 합니다. Android Studio에서 기본적인 Empty Activity를 빌드하게 되면 메니페스트 파일이 이와 같이 자동적으로 생성이 됩니다. Manifest에 존재하는 default로 생기는 것들의 의미 → 애플리케이션 각 모든 구성요소에 영향을 줄 수 있는 속성을 선언 allowBackup : 애플리케이션 백업 및 복원 인프라에 참여하도록 허용할지 여부 dataExtractionRules : 애플리케이션 백업이나 전송작업의 일부로 규칙을 지정 fullBackupContent : 자동 백업용 .. 2022. 11. 20.
[코틀린] 백준 1010번 다리놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 그냥 m가지가 나오고 n == m 이라면 -> 1가지 라는 경우의 수가 주어진다. 이 외에 대하여 우리는 진행을 해볼 것이다. dp[i][1] = i의 값과 dp[i][i] =1을 가지는 dp[n][m] = dp[.. 2022. 11. 12.
[dfs] 백준 2606 코틀린 : 바이러스 dfs의 가장 기본적인 문제 2606번을 코틀린으로 풀어봤다. 아직 코틀린에 대해서 아주 익숙치가 않아서 알고리즘 문제를 푸는데 조금의 버벅거림은 있는듯 싶다. https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 풀이 우선 대표적인 탐색 문제였다. 선택사항에 따라서 bfs, dfs로 풀 수 있지만 나는 dfs를 더 선호해서 dfs로 풀었다. (물론 최소를 구하는 갯수에서는 bfs를 선호) 모든 인덱스를 돌게 되면서 방문하지 않았고 두 컴퓨터간의 연결이 .. 2022. 11. 12.
배낭 암호 (Knapsack cryptosystem) 배낭 암호 배낭의 무게가 N일때 a0~ak까지 물건의 무게의 합이 정확히 N일때를 찾아야함 오늘날의 표준 기준으로 보면 안전하지 않지만, 오늘날 사용하는 공개키 암호 시스템을 만드는 토대가 되었다. 정의 a=[a1,a2, ,,, ,ak], x=[x1,x2, ,,, ,xk], xi=0 또는 1 s=knapsackSum(a,x)=x1a1+x2a2+ ,,, + xkak이다. 주어진 a와 x로부터 s를 계산하는것은 아주 쉽다. 하지만 s와 a가 주어졌을때 x를 구하는 것은 어렵다. 초증가 순서짝 → ai ≥ a1+ a2+… +ai-1 인 경우를 말한다. 즉, a1을 제외한 각 원소가 그 이전의 모든 원소의 합보다 크거나 같을 때를 말한다. 예제 a = [17, 25, 46, 94, 201, 400] 이고 s =.. 2022. 11. 11.
대칭키 vs 공개키(비대칭키) 암호화 차이 왜 암호화가 필요할까? 누군가에게 메세지를 보낼때 중간에 메세지를 탈취해도 알아볼 수 없도록 하기위해 메시지의 내용을 암호화해야 암호화딘 메시지를 수신자에게만 읽을 수 가 있다. 암호화를 할때 지켜야하는 정보보안의 3요소 기밀성 : 인가된 사용자만 정보에 접근 가능함 무결성 : 적절한 권한을 가진 사용자가 인가한 방법으로만 정보 변경 가능 가용성 : 필요할때 마다 정보에 대한 접근이 가능 → 우리는 이러한 보안을 지키기 위한 수단으로 암호를 사용한다. 대칭키 대칭키는 암호화 복호화에 같은 암호키를 사용하는 알고리즘을 의미한다. 동일한 키를 주고 받기 때문에 빠르다는 장점이 있다. 대칭키의 한계 속도가 빠르지만 키를 교환해야한다는 문제가 생긴다. 즉, 탈취될 수도 있는 문제와 사람이 증가할수록 전부 따로따.. 2022. 11. 11.
[백준 코틀린] 1065 : 한수 https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net x가 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 입력값 -> n / 1 길이가 2인 등차수열 따라서 90개 모두 다된다. 세 자리수 : 위의 형식처럼 진행이 된다. ex) 1: 숫자 하나이므로 등차수열 2: 같은경우 3: 같은경우 .. 10: 길이 2 / 1 0 인 수열 -> 등차수열o 11: 길이 2 / 1 1 인 수열 -> 등차수열o .. 100: 길이 3 / 1 0 0 인 수열 -.. 2022. 11. 11.
[백준 코틀린] 2775번 : 부녀회장이 될테야 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net /* a층의 b호에 살려면 자신의 아래 (a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 살아야한다. 0층의 i호는 i명이 산다. 0층 1,2,3,4...호 1,2,3,4...명 이 문제는 간단히 이중배열을 선언하여 값만 정리해놓으면 될듯 싶다. */ fun main(){ var arr = Array(15){IntArray(15)} var t : Int = 0 for (i in 0 until 15){ arr[i][0] = 0 // 호.. 2022. 11. 11.
[백준 코틀린] 10814 : 나이순정렬 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제는 나이와 이름을 받는데 나이순으로 정렬을 하고 나이가 같을경우에는 입력 받은순서로 정리를 한다. 즉 우리는 굳이 뒤를 정렬해줄필요없이 앞쪽만 정렬을 진행해주면 되는 문제였다. import java.util.* import kotlin.collections.ArrayList fun main(){ val input = Scanner(System.`in`) var n : Int= 0 var list =.. 2022. 11. 11.
[백준 코틀린] 2750번 : 수 정렬하기 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net import java.util.* fun main(){ var input = Scanner(System.`in`) var n : Int = 0 n = input.nextInt() var arr = Array(n,{0}) for (i in 0 until n){ var num = input.nextInt() arr.set(i, num) } arr.sort() for(i in 0 until n){ println.. 2022. 11. 11.
42 ft_printf 이해 및 사전 개념정리 우리가 흔히 보이는 printf함수는 에서 정의가 되어있으며 printf(const char *restrict format , …) 로 정의가 되어있다. 첫번째 매개변수로 문자열(format)이 입력되고, 그 이후는 가변인자로 n개의 매개 변수를 받는다. format은 %[parameter][flags][width][.precision][length] type 형식을 가지며 해석하면 %[n][flag][출력 너비][출력되는 값(숫자)의 정확도][데이터 타입 범위] type(서식문자)이다. 가변인자 va_list → 가변 안수들에 대한 정보를 홀드하기 위한 타입 va_start → 두개의 인자를 받음, va_list인스턴스와 고정인수를 받음 va_arg → ap포인터가 위치한 부분의 데이터를 읽어 반환함 .. 2022. 11. 11.
메모리 구조 [코드, 데이터, 힙, 스택 영역](Memory Structure) 메모리 영역 우리가 아는 OS에서 메모리 영역은 코드(code), 데이터(data), 힙(heap), 스택(stack) 영역으로 나눠진다. 코드 프로세스가 실행할 코드와 매크로 상수가 기계어의 형태로 저장된 공간. 중간에 바꿀 수 없게 read-only라는 특징이 있다. 데이터 영역 코드에서 선언한 전역변수 또는 static변수 등등이 저장된 공간. 실행 도중에 변경이 될 수 있어서 read-write로 지정되어 있다. 프로그램의 시작과 동시에 메모리에 할당되고, 프로그램이 종료되면 메모리에서 소멸이 된다. 힙 영역 우리가 흔히 사용하는 malloc, calloc으로 heap영역의 메모리를 사용한다. 할당을 통해서 진행을 하는데 해제를 진행해줘야 메모리 누수를 방지할 수 있다. 선입선출(FIFO)의 방식.. 2022. 11. 11.
반응형