코틀린의 타입 시스템 코틀린은 기본적으로 변수에 null 값을 넣지 못합니다.이러한 Nullable 한 특징은 NPE(NullPointerException)을 예방해줍니다.Null 안정성을 가지고 있어 기본적으로 기본 타입에 null 이 들어가면 에러가 발생합니다.? (물음표)?(물음표)는 null 값을 넣고 싶을 때 사용합니다. 변수에 null 값을 넣을 수 있다는 것을 의미합니다.fun main() { var a: Int? = null // true var b: Int = null // false} employee.manager 가 null 이면 name 변수가 리턴되고 null이 결과 값이 됩니다. null 이 아니면 정상 결과 값을 리턴합니다.class Employee(val name:..
🌈 Programming
✅ append💡 리스트 끝에 요소 추가하기>>> a = [10, 20, 30]>>> a.append(40)>>> print(a)[10, 20, 30, 40] 💡 리스트 안에 리스트 추가하기>>> a = [10, 20, 30]>>> a.append([500, 600])>>> print(a)[10, 20, 30, [500,600]] 💡 리스트 Slice 이용한 요소 추가하기>>> a = [10, 20, 30, 40]>>> a[len(a):] = [50]>>> a[10, 20, 30, 40, 50] ✅ extend💡 리스트 끝에 여러 개 요소 추가하기>>> a = [10, 20, 30]>>> a.extend([500, 600])>>> print(a)[10, 20, 30, 500, 600] ..
보통 리스트 값을 꺼내기 위해서 반복문을 사용합니다. ✅ 리스트 Unpacking목적은 다르지만 비슷한 기능으로 리스트 unpacking 기능을 사용할 수도 있습니다.list unpacking 기능은 주로 인수의 개수가 정해지지 않은 가변 인수(variable argument)에 사용합니다. 다음과 같이 표현하며 같은 함수에 인수를 1개를 넣을수도, 10개를 넣을수도 또는 넣지 않을 수도 있습니다.매개변수 이름은 관습적으로 args를 사용하며 이 값은 튜플 타입으로 반복문 사용이 가능합니다.>>> def test_func(*args): for arg in args: print(arg)>>> test_func("테스트 1", "테스트 2", "테스트 3")테스트 1테스트 2테스트 ..
n차원 vector 선언 vector 변수명 vector v1; // 2차원 vector 인 v1 vector v2; // 3차원 vector 인 v2 {행}을 고정하고 {열} 사용자가 앞으로 입력하게 되는 값의 갯수 만큼만 2차원 배열을 생성합니다. vector v3[5]; n차원 vector 초기화 vector의 행과 열의 크기를 아는 경우 다음과 같이 vector 크기를 초기화 할 수 있습니다. vector n(n, vector(m)); // n * m 만큼 2차원 vector 공간만 확보 vector n(n, vector(m, 0)); // n * m 만큼 2차원 vector 0으로 값 초기화 // n * m * k 3차원 vector 공간만 확보 vector t(n+1, vector(m+1, ..
코딩을 하거나 문제를 풀 때 배열을 선언하고, 그 안에 초기값들을 채워야 할 경우가 많습니다. 매번 초기화를 하거나 배열이 2,3차원이 되면 코드가 불필요하게 길어지고 가독성이 떨어지는 경우가 있습니다. C와 C++에서는 이를 방지하기 위해 memset과 fill 두 가지의 배열 초기화 함수를 제공합니다. 변수 초기화를 안한다면? 일반적으로 지역변수에 배열을 선언하고 초기화 해주지 않으면 다음과 같은 쓰레기 값이 채워져 있습니다. 따라서 초기화 작업이 반드시 필요합니다. #include using namespace std; int main(){ int arr[10]; bool arr2[10]; for(int i=0 ; i HTML 삽입 미리보기할 수 없는 소스 memset은 약 331초, fill은 약 ..