분류 전체보기

Kotlin

코틀린 클래스와 객체

객체 지향 프로그래밍(OOP : Object Oriented Programming) 프로그램의 구조를 객체 간 상호작용으로 표현하는 프로그래밍 방식 객체와 관계를 표현하며 이를 통해 확장과 재사용성이 용이 Java와 Kotlin은 객체 지향 프로그래밍을 지원 클래스 대상들을 분류하고 속성과 함수를 작성한 것 fun main() { val coffee = Coffee() // 클래스의 생성자를 통해 객체 생성 coffee.name = "Latte" // 객체 속성에 값 할당 coffee.getPrice() // 객체의 함수 호출 } class Coffee { // 클래스 작성 // 속성 var name: String = "Americano" var price: Int = 4000 // 함수 fun getP..

Algorithm/Algorithm

조합 (Combination)

조합 조합은 서로 다른 n개에서 순서 없이 r개의 숫자를 뽑는 경우의 수를 의미한다. static int K; static int[] arr; static boolean[] visited; // 조합 public static void main(String[] args) { arr = new int[]{1, 2, 3}; K = 2; // 뽑는 개수 visited = new boolean[arr.length]; //배열의 개수만큼 초기화 combination(0, 0); } public static void combination(int idx, int cnt) { if (cnt == K) { for(int i = 0; i < arr.length; i++) { if(visited[i]) System.out.p..

Algorithm/Algorithm

순열 (Permuation)

순열 순열은 서로 다른 n개의 값 중에서 r개의 숫자를 뽑는 경우의 수를 의미한다. static int K; static int[] arr, result; static boolean[] visited; // 순열 public static void main(String[] args) { arr = new int[]{1, 2, 3}; K = 2; // 뽑는 개수 result = new int[K]; visited = new boolean[arr.length]; //배열의 개수만큼 초기화 permutation(0); } public static void permutation(int cnt) { if (cnt == K) { System.out.println(Arrays.toString(result)); retu..

Kotlin

코틀린 함수

함수형 프로그래밍 함수가 일급 객체로써 재사용성을 높인 프로그래밍 패러다임 일급 객체 : 변수나 데이터에 할당할 수 있고 리턴값으로 사용 가능하며 객체를 인자로 넘길 수 있어야 함 방식 의미 ex 절차 지향 프로그래밍 순서대로 동작하는 방식 C 객체 지향 프로그래밍 클래스가 최우선이 되는 방식 Java, C++ 함수형 프로그래밍 함수의 동작이 최우선이 되는 방식 Kotlin, Javascript 장점 코드를 간결하게 구현할 수 있고 가독성을 높일 수 있음 동시성 작업을 쉽게 구현할 수 있음 람다 함수 람다 함수는 익명 함수를 의미 람다 규칙 람다 함수는 중괄호{}로 표현 -> 기준으로 왼쪽은 매개변수, 오른쪽은 함수 내용으로 작성 매개변수 타입을 추론할 수 있으면 생략 가능 함수의 마지막 표현식은 반환 ..

Kotlin

코틀린 조건문과 반복문

조건문 if var num: Int = 1 if(num == 1) { // 조건1 println("Success") } else if(num == 2) { // 조건2 println("Fail") } else println("Unknown") // 한 줄이면 괄호 생략 가능 when : Java의 Switch에 대응 var num: Int = 1 when(num) { 1 -> println("num은 1") 2 -> println("num은 2") in 3..5 -> println("num은 3이상 5이하") !in 6..10 -> println("num은 6이상 10이하가 아님") else -> println("위의 조건에 해당하지 않음") } if문과 when문 모두 마지막 값을 리턴할 수 있다. 코..

Kotlin

코틀린 자료형

자료형 코틀린의 기본 자료형은 모두 객체로 자바보다 엄격하게 타입을 체크한다. 명시적으로 형변환을 시켜줘야 함. 코틀린은 유니코드를 사용한다. 비교 문자열 비교(==) 오브젝트 비교(===) 문자열 템플릿 ${변수}를 통해 출력 가능 (ex) println("테스트 ${변수} 출력") 문자열을 붙일 때는 +를 통해 출력 (ex) str1 + str2 배열 arrayOf()를 통해 생성과 초기화를 동시에 함 자료형을 유추할 수 있을 경우에는 초기화 생략 가능 대괄호[]를 사용하여 접근 Array라고 생성하고 Int가 아닌 값이 들어가면 에러가 발생하지만 arr2와 같이 arrayOf()로 생성한 배열은 어떤 형태도 추가 가능 fun main() { val arr1 : Array = arrayOf(1, 2,..

Kotlin

코틀린(Kotlin) 이란?

코틀린 특징 IDE로 유명한 JetBrains에서 개발하고 보급 코드가 간결하고 자바와 100% 호환 변수 선언 시 "?"를 통해 Nullable로 생성 가능 클래스 없이 main 함수로 실행 가능 Android 공식 언어로 추가 장점 데이터형 선언 시 Null 가능 여부 형식을 지원 함수형 프로그래밍, 객체 지향 프로그래밍 가능 세미콜론 생략 가능 자바와 완벽히 상호호환 간결하고 효율적인 프로그래밍 가능 Nullpointer Exception에서 조금 더 자유로움 변수 val(value) - 불변형 var(variable) - 가변형 자료형 종류 Byte 정수형 Char 문자 Short 정수형 Int 정수형 Long 정수형 Float 실수형 Double 실수형 Boolean 참, 거짓 String 문자..

Algorithm/Baekjoon

백준 21610 마법사 상어와 비바라기(Java)

문제 출처 : https://www.acmicpc.net/problem/21610 5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net 문제 설명 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기를 크기가 N×N인 격자에서 연습하려고 한다. 격자의 각 칸에는 바구니가 하나 있고, 바구니는 칸 전체를 차지한다. 바구니에 저장할 수 있는 물의 양에는 제한이 없다. (r, c)는 격자의 r행 c열에..

Algorithm/Baekjoon

백준 5427 불(Java)

문제 출처 : https://www.acmicpc.net/problem/5427 16987번: 계란으로 계란치기 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱 www.acmicpc.net 문제 설명 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에는 불이 붙지 않는다. 상근이는 동서남북 인접한 칸으로 이동할 수 있으며, 1초가 걸린다. 상근이는 벽을 통과할 수 없고, 불이 옮겨진 칸 또는 이제 불이 붙으려는 칸으로 이..

Algorithm/Baekjoon

백준 16987 계란으로 계란치기(Java)

문제 출처 : https://www.acmicpc.net/problem/16987 16987번: 계란으로 계란치기 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱 www.acmicpc.net 문제 설명 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱걸이를 5회 하는 기적의 운동 루틴을 통해 뇌와 근육을 동시에 단련한다. 근육을 단련할 때 식단이 정말로 중요하다는 것을 아는 인범이는 탄수화물이 많은 밥이나 빵 ..

Jyuni
'분류 전체보기' 카테고리의 글 목록 (7 Page)