인텐트란?인텐트는 안드로이드 애플리케이션에서 4대 컴포넌트 구성 요소들 간에 통신하는 데 사용되는 객체입니다. 인텐트는 Activity를 실행하는 데 가장 많이 사용되지만 다른 용도도 있습니다. 인텐트 유형에는 암시적 인텐트와 명시적 인텐트가 있습니다.명시적 인텐트(Explicity Intent): 특정 컴포넌트를 명시하여 실행하는 인텐트암시적 인텐트(Implicit Intent): 추상적이며 목적지를 명시적으로 지정하지 않고, 수신자가 필터를 통해 처리할 수 있는 인텐트 명시적 인텐트 예시 - Activity 이동binding.button.setOnClickListener { val intent = Intent(this, SecondActivity::class.java).apply { ..
14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 문제 2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다. 비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까? 입력 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다. 따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바..
조건 표현식 우리가 코드를 작성할 때 특정 조건에 해당하는 행위만 처리하고 싶을 때가 있습니다. 이를 위해서는 참과 거짓으로 결과를 처리하는 비교연산자와 논리연산자를 알아야 합니다. 비교연산자 연산자 의미 표현식 내부적 실행 > 크다 a > b a.compareTo(b) > 0 = 크거나 같다 a >= b a.compareTo(b) >= 0 = num2) // 출력: false (20은 30보다 작거나 같지 않음) println(num1 b) or (a b) && (a b) and (a < c) 아래는 논리연산자를..
변수와 상수 프로그램 언어 내에서 특정 값을 보관하는 장소는 변수와 상수입니다. 코틀린에서 변수를 정의할 때는 val, var을 사용할 수 있습니다. 상수는 const val 예약어만 사용할 수 있으며 정의할 수 있는 영역도 제한됩니다. 불변변수(val): 한번 저장하면 다시 할당할 수 없는 변수 가변변수(var): 재할당할 수 있는 변수 정의(Declaration): 변수와 상수를 처음으로 만드는 것 참조(Reference): 변수나 상수의 값을 이름으로 조회하는 것 할당(Assignment): 변수나 상수에 초깃값을 저장하는 것 변수와 상수를 정의할 때 사용되는 규칙이 존재합니다. 이는 다음과 같습니다. 변수 소문자나 언더스코어로 시작 첫 문자에는 숫자를 쓰지 않는다. 여러 단어를 연결해 표기할 때 ..
객체란? Kotlin은 객체지향 프로그래밍을 지원하는 프로그래밍 언어입니다. 객체는 속성과 동작을 가지는 개체로 클래스를 통해 정의됩니다. 즉 객체는 해당 객체와 관련이 있는 데이터로 구성된 클래스의 인스턴스입니다. 그렇다면 객체를 만들기 위해서는 일단 클래스가 있어야 합니다. 먼저 클래스를 정의하고 이 정의된 클래스 내의 생성자를 호출해서 객체를 생성해 보겠습니다. ✔ 클래스(class): 클래스를 정의하는 예약어이며 객체를 생성하는 템플릿 도구이다. ✔ 생성자(constructor): 클래스 정의 이후 객체를 생성하는 기능이다. 보통 클래스 이름으로 호출하고 생성자를 실행하면 객체 내의 속성들을 초기화 처리한다. 아래는 `Hello` 라는 클래스를 생성했습니다. class Hello { val hel..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, 조직을 운영하던 민호는 조직 내 누가 얼마만큼의 이득을 가져갔는지가 궁금해졌습니다. 예를 들어, 민호가 운영하고 있는 다단계 칫솔 판매 조직이 아래 그림과 같다고 합시다. 민호는 center이며, 파란색 네모는 여덟 명의 판매원을 표시한 것입니다. 각각은 자신을 조직에 참여시킨 추천인에 연결되어 피라미드 식의 구조를 이..
Context란? Context는 애플리케이션의 환경에 대한 전역정보가 컨텍스트로 연결됩니다. Context는 Android 시스템에 의해 제공되는 추상 클래스로 애플리케이션 별로 리소스 및 클래스에 대한 접근은 물론 Activity의 실행, 브로드 캐스팅 및 Intent 수신과 같은 애플리케이션 레벨에 대한 호출을 허용합니다. 말이 조금 어려운데 간단하게 말하자면 Context는 안드로이드 앱의 실행 환경에 대한 정보를 제공하는 클래스입니다. 안드로이드 앱은 Context를 사용해 다양한 작업을 수행하고, 시스템 서비스에 접근하며, 리소스에 액세스할 수 있습니다. 안드로이드에서는 앱의 실행 환경이 다양한 상황과 조건에 따라 변경될 수 있습니다. 이러한 실행 환경을 표현하고 조작하기 위해 Context ..
안드로이드 4대 컴포넌트 안드로이드 앱은 필수적인 기본 구성 요소가 4가지 존재한다. 이를 안드로이드 4대 컴포넌트라고 부른다. 각 구성 요소는 시스템이나 사용자가 앱에 들어올 수 있는 진입점이 된다. 구성 요소는 다음과 같다. 1. Activity (액티비티) 2. Service (서비스) 3. Broadcast Receiver (브로드캐스트 수신자) 4. Content Provider (콘텐츠 제공자) 액티비티 액티비티는 사용자 인터페이스를 포함한 화면 하나를 나타낸다. 예를 들어 이메일 앱이라면 목록을 표시하는 액티비티가 하나 있고, 이메일을 작성하는 액티비티가 또 하나가 존재한다. 이렇듯 액티비티는 시스템과 앱의 주요 상호작용을 돕는다. 서비스 서비스는 백그라운드에서 실행되는 구성 요소로, 오랫동..