[자료구조] 연결 리스트
·
공부/자료구조 | 알고리즘
링크드 리스트 연결 리스트 (Linked List) 연결 리스트의 개념 연결 리스트 (Linked List) : 데이터와 포인터를 가진 각 노드들을 일렬로 연결시킨 형태의 자료구조 예 : 버킷 리스트, 요일들 등 연결 리스트의 특징 메인 메모리상 물리적으로 흩어져있는 데이터들을 서로 연결하여 하나로 묶는 방식 삽입/삭제 시 앞뒤에 있는 데이터들을 이동할 필요없이 해당 데이터들을 연결하는 줄만 수정하면 된다. 첫 번째 데이터만 알면 나머지 데이터들을 연결된 줄로 추적 가능하다. 포인터를 저장하기 위한 추가적인 메모리 공간이 필요하다. 연결 리스트의 구조 노드 (node) : 연결되는 상자, 데이터 필드와 링크 필드로 구성 데이터 필드 (data field) : 저장하고 싶은 데이터가 들어감 링크 필드 (l..
[자료구조] 스택과 큐
·
공부/자료구조 | 알고리즘
스택과 큐 스택 스택의 개념 스택 (STACK) : 데이터를 쌓아올리는 형태의 자료구조 예 : 접시 더미, 책상에 쌓여있는 책, 창고에 쌓여있는 상자 등 스택의 특징 후입선출 (LIFO: Last-In First-out) 방식 가장 최근에 들어온 데이터가 가장 위에 있으며 가장 먼저 나간다. 데이터의 들어오는 방향과 나가는 방향이 같은 단방향 입출력 구조이다. 스택에서 입출력은 맨 위에서만 일어나며 스택의 중간에서는 데이터를 삭제할 수 없다. 예: 스택에 A, B, C, D 순서대로 입력한 후 하나를 삭제하면 맨 위에 놓여진 D가 삭제된다. 스택의 구조 스택 상단 (stack top) : 입출력이 이루어지는 부분 스택 하단 (stack botton) : 스택 상단 반대쪽인 바닥 부분 요소 (element..
[Android/Kotlin] 안드로이드 스튜디오 알림 안뜸 해결
·
공부/안드로이드
결론 문제는 알림 권한 설정을 추가하지 않았기 때문이다. 1. 아래의 코드를 AndroidManifest.xml에 추가하도록 하자. 2. 그 다음 설정>앱>작업 중인 앱으로 가서 알림을 키면 된다. 계기 동아리 과제 중 Foreground를 사용해 보는 것이 있었다. 기본 코드 AndroudManifest.xml Foreground.kt package com.example.myapplication import android.app.NotificationChannel import android.app.NotificationManager import android.app.Service import android.content.Intent import android.os.Binder import android..
[Android/Kotlin] 뷰바인딩
·
공부/안드로이드
뷰 바인딩 (View Binding) 레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법 액티비티에서 findViewById() 함수를 이용하지 않고 레이아웃 XML 파일에 등록된 뷰 객체를 쉽게 사용할 수 있는 방법 제공 Gradle 파일에 뷰 바인딩 설정 build.gradle.kts (Kotlin DSL) android { (... 생략 ...) buildFeatures { viewBinding = true } } build.gradle (Groovy DSL) android { (... 생략 ...) viewBinding { enabled = true } } New Project 생성 시 Build configuration language를 어떻게 설정했는지에 따라 설정 코드가 조..
[Android/Kotlin] SQLite
·
공부/안드로이드
학교 모바일 응용 수업 복습 SQLite 클라이언트 어플리케이션에 주로 사용하는 경량 내장형 DBMS 관계형 데이터베이스 http:///www.sqlite.org 안드로이드, iOS, 그리고 웹 브라우저 등에서 사용 → 안드로이드 경우 프레임워크에 기본 내장 기기에 자료를 영구적으로 저장해야할 경우 적용 휴대폰 내부에 파일로 DB가 만들어짐 라이브러리 형태로 호출하여 사용 (클래스 import) DB 사용 절차 SQLiteOpenHelper 상속 클래스 작성 → helper 객체 생성 → helper를 사용하여 SQLiteDatabase 객체 획득 → SQLiteDatabase 객체를 사용하여 Query 수행 → helper 객체 (및 관련 객체) Close 수행 1. SQLiteOpenHelper 상속..
[UMC 동아리] 5기 합격 후기
·
카테고리 없음
이번 UMC 동아리 5기 Android 파트에 합격하여 후기를 작성해본다. UMC 란? University MakeUs Challenge (이하 UMC)는 앱&웹 서비스 런칭에 도전하는 대학생 IT 연합동아리이다. CHALLENGE, EQUALITY, CONFIDENCE라는 3가지 가치를 추구하며 PM/Plan, Design, Web, Android, iOS, Nodejs, Spring Boot 파트로 나누어져 있다. 이번 5기는 총 29개의 학교가 참여한다. 지원 이유 슬슬 3학년에 되니 스펙을 쌓아야 한다는 불안감이 커졌다. 특히 올해 1학기랑 여름방학에 지원했던 동아리에 떨어지니 더더욱 걱정이 되었다. 게임 개발 동아리에서 활동하면서 만든 게임 프로젝트는 어느정도 있지만 게임쪽 진로는 거의 생각을 ..
유니티 오브젝트 페이드인/페이드아웃
·
공부/유니티
나의 목표는 캐릭터npc를 페이드인 하자마자 페이드아웃하는 것이다. 기획에 부모님이 등장하여 아이를 데리고 사라지는 거였다. 유튜브도 찾아보고 구글링도 엄청하였다. 분명 영상에선 잘만 돌아가는데 내가 응용해서 사용하면 페이드인&페이드아웃 n번 반복하거나 에러가 주구장창 났다. 컴퓨터도 오랜시간 일하는게 너무 힘들었는지 열을 내서 다시 껏다키고 시작했다. 1. 변수 SpriteRenderer rend; Boolean comeIn = true; public Boolean comeOut = false; 원래 대사 후에 페이드인/아웃 시작인데 아직 팀원으로부터 대사를 못받아서 실행하면 바로 페이드인/아웃이 되게 설정하였다. comeIn은 페이드인 시작 결정을 위한 변수다. comeOut은 페이드아웃 시작 결정을..
유니티 게임 끝 화면 (처음부터, 게임종료 버튼) 구현
·
공부/유니티
유니티 2021.3.10f1 기준입니다. 처음부터 버튼 1. Hierachy 우클릭 > UI > Legacy > Button 클릭 2. 버튼 이름 변경 나는 EndButton이라고 정했다. 3. 버튼 설정 위치 : 빨간색 선 있는 네모 클릭 -> 원하는 곳에 버튼을 옮긴다. 버튼 크기 : Width, Height 입력한다. 4. 버튼 텍스트 설정 버튼 만들 때 같이 생성된 Text (Legacy)로 이동한다. Text에 원하는 버튼 이름 입력한다. Font Size로 크기 정한다. (Font, Font Style 등도 정할 수 있음) 5. Assets 우클릭 > Create > C# Script 생성 나는 Script 폴더를 만들어서 그 안에 RestartScript 라는 이름으로 만들었다. 6. 스크립..