본문 바로가기

전체 글

(125)
Chapter 5. Java의 클래스, 생성자, 메서드 5. 0. Java의 클래스란? Chapter 1.에서 우리는 자바의 변수가 무엇인지에 대해 알아보았습니다. 간략하게 변수란 '자료(Data)를 저장하기 위한 공간'이라고 요약할 수 있겠습니다. 자, 여러분에 마트에 방문했다고 가정을 해봅시다. 오늘 저녁은 맛있는 크림 파스타를 만들려고 결정했는데요. 그래서 마트 입구에서 바구니를 들고 상품을 고르려고 마트의 코너들을 돌아다녀 봅니다. 제일 먼저 눈에 띄는 재료는 파스타 면이었습니다. 다음으로 크림 파스타의 소스를 만들기 위해 우유를 담으려고 하는데, 아뿔싸! 바구니에서 갑자기 경고창이 뜨면서 ‘고객님의 바구니는 파스타 면만 담으실 수 있습니다’하고 안내 문구가 보입니다. 기분 좋게 파스타 재료를 사려고 왔던 여러분은 크게 당황하셨을 것 같습니다. 정말 ..
[ANDROID] 안드로이드의 네트워크 통신 (HTTP 통신, Volley) Volley란? 구글에서 개발한 안드로이드의 네트워크 프로그래밍용 라이브러리입니다. 안드로이드는 기본적으로 컴퓨터와 달리 네트워크 사용 시 권한 설정이 필요하고, HTTP 통신을 할 경우에는 허용할 도메인 또는 IP 주소가 담긴 설정파일 (xml) 등을 통해 제한적으로 허용할 수 있습니다. 또는 AndroidManifest.xml 파일의 application 태그에 직접 설정을 추가하여 모든 도메인과 통신을 허용할 수 있습니다. HTTP 요청의 메서드 GET, POST, PUT, DELETE 모두 사용 가능합니다. JavaScript의 fetch() 메서드와 비슷한 느낌입니다. REST API로부터 데이터를 받아 뷰(View)에 표시하는 작업 등을 할 수 있습니다. 테스트용으로 사용하기 편한 REST A..
[백준 4335] 숫자 맞추기 https://www.acmicpc.net/problem/4335 4335번: 숫자 맞추기 스탠과 올리는 정수 맞추기 게임을 하고 있다. 스탠은 1과 10사이의 정수 하나를 생각하고, 올리는 스탠이 생각한 수를 맞춰야 한다. 올리가 수를 말할 때마다 스탠은 올리가 말한 수가 큰지, 작 www.acmicpc.net 풀이 설명 스탠이 거짓말을 하는지 판별하는 알고리즘입니다. 스탠의 발언(?)을 스택에 저장하고 스택에서 값을 꺼내서 그중 거짓이 있는지 판별합니다. 스탠의 발언은 크다(too high), 작다(too low), 같다(right on) 세가지입니다.그래서 정답보다 큰 수를 위한 스택 하나, 작은 수를 위한 스택 하나를 총 두개의 스택으로 거짓말을 판별합니다.자세한 로직은 아래의 소스코드 참고 im..
[ANDROID] 휴대전화의 여러 정보를 얻는 방법 (Android PhoneStateListener, TelephonyCallback) phoneStateListener, TelephonyCallback 이란? 스마트폰에서 네트워크 상태를 감지하는 리스너, 콜백 함수입니다. phoneStateListener는 안드로이드 API 버전 12 이후로부터 deprecated 되었습니다. 이유를 찾아보려 했으나 잘 모르겠습니다... 혹시 찾으면 추가할 예정입니다... 그래도 API 12 레벨 이전 앱을 개발한다면 PhoneStateListener 도 사용해야할 수 도 있습니다. PhoneStateListener PhoneStateListener 를 사용할 때 중요한 클래스는TelephonyManager입니다. 이 클래스의 listen 메서드를 통해서 리스너를 동작시킬 수 있습니다. listen 메서드의 두번째 매개변수를 통해 원하는 휴대전화 정보..
[백준 2828] 사과 담기 게임 https://www.acmicpc.net/problem/2828 2828번: 사과 담기 게임 상근이는 오락실에서 바구니를 옮기는 오래된 게임을 한다. 스크린은 N칸으로 나누어져 있다. 스크린의 아래쪽에는 M칸을 차지하는 바구니가 있다. (M 바구니의 오른쪽 끝 좌표가 사과의 낙하 위치보다 크거나 같다면 - 2.2. 그렇지 않을 경우에는 오른쪽 끝 좌표가 사과의 낙하 좌표가 될 때까지 움직입니다. - 3. 사과의 낙하 위치가 기준점보다 작다면(왼쪽이라면), 사과의 낙하 위치까지 이동해야 합니다. (바구니를 돌리거나 할 수 없으므로) - 위의 조건에서 1번과 2.1.번의 조건을 제외하고는 바구니의 이동거리를 계산해야 합니다. - 이 때, 바구니가 이동한 거리를 distance, 사과의 낙하 위치를 x, -..
[Kotlin] 함수, 제어문, 반복문 개요 오늘은 코틀린의 함수(Function), 제어문(Conditions), 반복문(Loops)에 대해서 알아보도록 하겠습니다. 함수(Fucntion) 프로그래밍에서 함수란 수학에서의 함수와 의미가 같습니다. 수학에서 함수의 정의는 아래와 같습니다. "어떤 집합의 각 원소를 다른 어떤 집합의 유일한 원소에 대응시키는 이항 관계" 그러므로, 프로그래밍 언어에서 함수란 주어진 미지의 값들의 집합을 통해 유일한 값을 얻어내는 것이라고 볼 수 있는데요. 여기서 미지의 값들의 집합을 파라미터(parameter), 유일한 값을 반환 값(returns)이라고 부릅니다. 따라서, 코틀린을 포함하는 프로그래밍 언어에서 함수란, 함수를 구분하기 위한 함수의 이름, '함수명'과 미지의 값들의 집합, 파라미터(paramete..
[Kotlin] 연산자(Operator)와 컬렉션(Collection) 개요 오늘은 코틀린의 연산자(Operator)와 컬렉션(Collection)에 대해서 알아보도록 하겠습니다. 1. 코틀린 연산자(Kotlin Operator) 수학에서 수를 더하거나 빼거나 곱하거나 나누는 계산을 '사칙 연산'이라고 부릅니다. 코틀린에서도 이러한 사칙 연산을 아래와 같이 할 수 있습니다. fun main(args: Array) { // 코틀린의 사칙연산 + 나머지(모듈러) 연산 var number = 10; println(number + 1); // 더하기, 11 println(number - 2); // 빼기, 8 println(number * 3); // 곱하기, 30 println(number / 4); // 나누기(몫 연산) , 2 println(number % 2); // 모듈러..
[Kotlin] 변수와 자료형 개요 오늘은 코틀린의 변수와 자료형에 대해서 알아보도록 하겠습니다. 변수란, 컴퓨터 메모리에 저장할 자료(Data)를 저장하기 위한 공간으로 자료형(Type, 形)에 따라 그 크기가 다릅니다. 그리고 이러한 자료형은 프로그램에서 사용 가능한 다양한 변수의 '종류'를 구분해줍니다. 변수에 대한 보다 자세한 설명이 궁금하시다면 아래의 게시글을 참고해주세요 😀 https://1-hee.tistory.com/2 chapter 1. 자바 변수와 연산자 그리고 메서드 1.1. 변수(Variable)이란? 컴퓨터 메모리에 자료(Data)를 저장하기 위한 공간으로 자료형(Type, 形)에 따라 그 크기가 다릅니다. 우리가 사용하는 컴퓨터는 기술의 발전으로 커다란 양의 데이터도 거뜬 1-hee.tistory.com 1...