분류 전체보기
-
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #List 활용 List는 순서에 따라 정렬된 요소를 가지는 컬렉션으로, 가장 많이 사용하는 컬렉션 중 하나이다. ([자료 구조] List 에 대한 개념이 궁금하면 본 게시물을 한 번 읽어보기를 추전한다.) 코틀린의 List에는 값을 변경할 수 없는 불변형 List , 값을 변경할 수 있는 가변형 MutableList 가 있다. 불변형 List 먼저, 불변형 List를 생성하는 방법에 대해 알아보자. val nonChangeList = listOf(1,2,3,4,5) 기..
[Kotlin] List 활용/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #List 활용 List는 순서에 따라 정렬된 요소를 가지는 컬렉션으로, 가장 많이 사용하는 컬렉션 중 하나이다. ([자료 구조] List 에 대한 개념이 궁금하면 본 게시물을 한 번 읽어보기를 추전한다.) 코틀린의 List에는 값을 변경할 수 없는 불변형 List , 값을 변경할 수 있는 가변형 MutableList 가 있다. 불변형 List 먼저, 불변형 List를 생성하는 방법에 대해 알아보자. val nonChangeList = listOf(1,2,3,4,5) 기..
2021.09.17 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #Collection 컬렉션은 자주 사용하는 기초적인 자료구조를 모아 놓은 일종의 프레임워크이다. 코틀린의 컬렉션 코틀린의 컬렉션은 자바 컬렉션의 구조를 확장 구현한 것이다. 컬렉션의 종류로는 List, Set, Map 등이 있으며 자바와는 다르게 불변형과 가변형으로 나뉜다. 가변형 컬렉션은 객체에 데이터를 추가하거나 변경할 수 있고 불변형 컬렉션은 데이터를 한 번 할당하면 읽기 전용이 된다. 자바에서는 오로지 가변형 컬렉션만 취급되기 때문에 자바와 상호작용할 때 주의해..
[Kotlin] Collection/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #Collection 컬렉션은 자주 사용하는 기초적인 자료구조를 모아 놓은 일종의 프레임워크이다. 코틀린의 컬렉션 코틀린의 컬렉션은 자바 컬렉션의 구조를 확장 구현한 것이다. 컬렉션의 종류로는 List, Set, Map 등이 있으며 자바와는 다르게 불변형과 가변형으로 나뉜다. 가변형 컬렉션은 객체에 데이터를 추가하거나 변경할 수 있고 불변형 컬렉션은 데이터를 한 번 할당하면 읽기 전용이 된다. 자바에서는 오로지 가변형 컬렉션만 취급되기 때문에 자바와 상호작용할 때 주의해..
2021.09.16 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. 개인적으로 공부한 내용을 정리한 글이기 때문에 글에 오류가 있을 수 있습니다. */ 참고 자료 [쾌락코딩] 변성(공변성 out, 반공변 in) 이해하기 1편 - 제네릭 : https://wooooooak.github.io/kotlin/2020/02/27/%EB%B3%80%EC%84%B1(in,-out)%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1%ED%8E%B8/ #제네릭 코틀린으로 쓴 여러 코드들을 보다보면 를 자주 볼 수 있다. 예를 들어 array 를 선언할 때, arrayOf(1,2,3) 같이 사용되는 것을 확인할 수 있다. 기호에 대해 모른다면 이 것을 왜 썻는지 ..
[Kotlin] 제네릭/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. 개인적으로 공부한 내용을 정리한 글이기 때문에 글에 오류가 있을 수 있습니다. */ 참고 자료 [쾌락코딩] 변성(공변성 out, 반공변 in) 이해하기 1편 - 제네릭 : https://wooooooak.github.io/kotlin/2020/02/27/%EB%B3%80%EC%84%B1(in,-out)%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1%ED%8E%B8/ #제네릭 코틀린으로 쓴 여러 코드들을 보다보면 를 자주 볼 수 있다. 예를 들어 array 를 선언할 때, arrayOf(1,2,3) 같이 사용되는 것을 확인할 수 있다. 기호에 대해 모른다면 이 것을 왜 썻는지 ..
2021.09.13 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [kotlin array 표준 라이브러리] : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/ #배열 사용해보기 배열에 대한 특징은 [자료 구조] 배열에서 다루었다. (배열에 대해 잘 모르면 한 번 읽어보길 추천한다.) 이번에는 코틀린으로 배열을 사용하는 방법을 익혀보자. 1. 일차원 배열 배열의 기본적인 형태로 코틀린에서는 배열을 arrayOf() 나 Array() 생성자를 사용해 배열을 만든다. 빈 상태의 배열을 만들고 싶으면 arrayOfNulls() 를 통해 생성할 수 있다. //arrayOf() 생성자 : 배열의 ..
[Kotlin] 배열/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [kotlin array 표준 라이브러리] : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/ #배열 사용해보기 배열에 대한 특징은 [자료 구조] 배열에서 다루었다. (배열에 대해 잘 모르면 한 번 읽어보길 추천한다.) 이번에는 코틀린으로 배열을 사용하는 방법을 익혀보자. 1. 일차원 배열 배열의 기본적인 형태로 코틀린에서는 배열을 arrayOf() 나 Array() 생성자를 사용해 배열을 만든다. 빈 상태의 배열을 만들고 싶으면 arrayOfNulls() 를 통해 생성할 수 있다. //arrayOf() 생성자 : 배열의 ..
2021.09.10 -
참고 자료 [백준 10818번] : https://www.acmicpc.net/problem/10818 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 내 풀이 (326668KB / 1500ms) 배열을 이용해 최대 최소를 풀었다. import java.util.Scanner fun main(){ val sc = Scanner(System.`in`) val si..
[백준 10818번] 배열의 최대 최소 with Kotlin참고 자료 [백준 10818번] : https://www.acmicpc.net/problem/10818 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 내 풀이 (326668KB / 1500ms) 배열을 이용해 최대 최소를 풀었다. import java.util.Scanner fun main(){ val sc = Scanner(System.`in`) val si..
2021.09.10 -
참고 자료 [BoostCourse - cs50 - linked list] : https://www.boostcourse.org/cs112 [초보몽키의 개발공부로그] Array와 리스트 : https://wayhome25.github.io/cs/2017/04/17/cs-18-1/ [Java의 LinkedList와 ArrayList 에 대한 비교] : https://www.holaxprogramming.com/2014/02/12/java-list-interface/ [에러지우개] Array vs ArrayList : https://velog.io/@humblechoi/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Array-vs-ArrayList #List 이번에 공부할 자료구조는 Lis..
[자료 구조] List참고 자료 [BoostCourse - cs50 - linked list] : https://www.boostcourse.org/cs112 [초보몽키의 개발공부로그] Array와 리스트 : https://wayhome25.github.io/cs/2017/04/17/cs-18-1/ [Java의 LinkedList와 ArrayList 에 대한 비교] : https://www.holaxprogramming.com/2014/02/12/java-list-interface/ [에러지우개] Array vs ArrayList : https://velog.io/@humblechoi/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Array-vs-ArrayList #List 이번에 공부할 자료구조는 Lis..
2021.09.10 -
/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [빡센] 코틀린 8. 입력과 출력 : https://bbaktaeho-95.tistory.com/11 알고리즘 테스트를 보면 값을 입력 받고 처리하는 식의 문제가 많다. 이번에는 코틀린으로 입력을 처리하는 방법에 대해 알아보자. 크게 입력을 받는 방법은 두개가 있다. 1. readLine() 함수 사용 fun main(args:Array){ print("입력할 값 :") val value = readLine() println("입력 값 : $value") } readLine() 함수를 사용하게되면 반환 값을 String? 형태로 반환한다. 필요시 형변환을 통해 필요한 데이터 형태로 바꾸면 된다. (toInt..
[Kotlin] 입력 (Scanner / BufferedReader)/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [빡센] 코틀린 8. 입력과 출력 : https://bbaktaeho-95.tistory.com/11 알고리즘 테스트를 보면 값을 입력 받고 처리하는 식의 문제가 많다. 이번에는 코틀린으로 입력을 처리하는 방법에 대해 알아보자. 크게 입력을 받는 방법은 두개가 있다. 1. readLine() 함수 사용 fun main(args:Array){ print("입력할 값 :") val value = readLine() println("입력 값 : $value") } readLine() 함수를 사용하게되면 반환 값을 String? 형태로 반환한다. 필요시 형변환을 통해 필요한 데이터 형태로 바꾸면 된다. (toInt..
2021.09.09 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Kotlin] 자료형과 변수 심화: https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e 코틀린 공식 문서에 따르면 코틀린에서 배열은 Array 클래스로 표현된다. class Array private constructor() { val size: Int operator fun get(index: Int): T operator fun set(index: Int, value: T): Unit operator fun iterator(): Iterator // ... } 코..
[Kotlin] Array<T> 와 기본 자료형 Array/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Kotlin] 자료형과 변수 심화: https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e 코틀린 공식 문서에 따르면 코틀린에서 배열은 Array 클래스로 표현된다. class Array private constructor() { val size: Int operator fun get(index: Int): T operator fun set(index: Int, value: T): Unit operator fun iterator(): Iterator // ... } 코..
2021.09.09 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Koltin] 코틀린의 자료형 : https://velog.io/@jinny_0422/%EC%BD%94%ED%8B%80%EB%A6%B0%EC%9D%98-%EC%9E%90%EB%A3%8C%ED%98%95 [Kotlin] 자료형과 변수 심화 : https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e #코틀린 자료형 1. 자료형 이란? 자료형의 정의는 다음과 같다. 자료형(data type) 저장되는 데이터의 종류에 따른 형태로, 저장되는 값의 종류와 범위에 따라 다르게 표..
[Kotlin] 코틀린 자료형/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Koltin] 코틀린의 자료형 : https://velog.io/@jinny_0422/%EC%BD%94%ED%8B%80%EB%A6%B0%EC%9D%98-%EC%9E%90%EB%A3%8C%ED%98%95 [Kotlin] 자료형과 변수 심화 : https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e #코틀린 자료형 1. 자료형 이란? 자료형의 정의는 다음과 같다. 자료형(data type) 저장되는 데이터의 종류에 따른 형태로, 저장되는 값의 종류와 범위에 따라 다르게 표..
2021.09.09 -
/* 본 게시물은 '독하게 시작하는 C 프로그래밍 | with 최호성' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Kotlin 자료구조 - 배열] : https://kotlinworld.com/52 [BoostCourse - cs50 - 배열] : https://www.boostcourse.org/cs112 # 배열(Array) 1. 배열이란? 배열은 자료구조에서 가장 일반적인 구조로 메모리상에 형식이 같은 자료 여러 개가 모여 새로운 하나를 이룬 형식이다. 배열은 여러 값을 저장하기 위해 메모리의 연속적인 공간을 차지하고 있다. 코틀린으로 배열을 선언해보자. // [1,2,3] 배열 생성 val arr1: Array = arrayOf(1,2,3) 위 코드는 [1,2,3] 의 배열을 만든다. 코..
[자료구조] 배열/* 본 게시물은 '독하게 시작하는 C 프로그래밍 | with 최호성' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Kotlin 자료구조 - 배열] : https://kotlinworld.com/52 [BoostCourse - cs50 - 배열] : https://www.boostcourse.org/cs112 # 배열(Array) 1. 배열이란? 배열은 자료구조에서 가장 일반적인 구조로 메모리상에 형식이 같은 자료 여러 개가 모여 새로운 하나를 이룬 형식이다. 배열은 여러 값을 저장하기 위해 메모리의 연속적인 공간을 차지하고 있다. 코틀린으로 배열을 선언해보자. // [1,2,3] 배열 생성 val arr1: Array = arrayOf(1,2,3) 위 코드는 [1,2,3] 의 배열을 만든다. 코..
2021.09.09 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [위키백과 - 자료구조] : https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0 #자료구조 1. 자료 구조란? 자료 구조의 정의는 다음과 같다. 자료구조는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. [출처] : 위키백과 - 자료구조 그렇다면 자료구조를 왜 배워야할까? 이에 대한 답은 자료 구조에 따라 알고리즘의 성능에 영향을 결정하기 때문이다. 신중히 선택한 자료구조는 보다 효율적인 ..
[자료 구조] 자료구조란?/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [위키백과 - 자료구조] : https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0 #자료구조 1. 자료 구조란? 자료 구조의 정의는 다음과 같다. 자료구조는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. [출처] : 위키백과 - 자료구조 그렇다면 자료구조를 왜 배워야할까? 이에 대한 답은 자료 구조에 따라 알고리즘의 성능에 영향을 결정하기 때문이다. 신중히 선택한 자료구조는 보다 효율적인 ..
2021.09.08 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [BoostCourse - cs50 - 재귀] : https://www.boostcourse.org/cs112 #재귀 우리는 알고리즘을 구현하기 위해 코드를 작성하다 보면 동일한 작업을 반복해야 할 때가 있다. 보통 이러한 작업은 함수로 구현하여 코드를 보다 효율적으로 만들 수 있다. 하지만 함수 내에서도 동일한 작업이 반복되는 경우는 어떻게 할까? for문이나 while 문으로 반복을 구현할 수도 있지만 이번에 배울 '재귀' 를 통해 함수 내에서 반복을 만들 수 있다. 재귀에 대해 배워보자. 1. 재귀란? 재귀의 사전적의미는 어떠한 것을 정의할 때 자기자신을 참조(호출)하는 것을 뜻한다. 즉, 알고리즘에서 재귀란 함수를 함수 내..
[Algorithm] 재귀/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [BoostCourse - cs50 - 재귀] : https://www.boostcourse.org/cs112 #재귀 우리는 알고리즘을 구현하기 위해 코드를 작성하다 보면 동일한 작업을 반복해야 할 때가 있다. 보통 이러한 작업은 함수로 구현하여 코드를 보다 효율적으로 만들 수 있다. 하지만 함수 내에서도 동일한 작업이 반복되는 경우는 어떻게 할까? for문이나 while 문으로 반복을 구현할 수도 있지만 이번에 배울 '재귀' 를 통해 함수 내에서 반복을 만들 수 있다. 재귀에 대해 배워보자. 1. 재귀란? 재귀의 사전적의미는 어떠한 것을 정의할 때 자기자신을 참조(호출)하는 것을 뜻한다. 즉, 알고리즘에서 재귀란 함수를 함수 내..
2021.09.07