문법

· Skils/Kotlin
👀배울 내용 요약 코틀린 언어는 함수형 패러다임을 지원하는 기능이 있습니다. 함수형 프로그래밍은 프로그램 코드를 불변 값을 변환하는 함수의 합성으로 구성할 수 있다는 아이디어를 바탕으로 합니다. 함수형 언어는 함수를 first class 값으로 취급합니다. -> 함수를 다른 일반적인 타입의 값과 똑같이 취급한다는 뜻입니다. first class는 변수에 값을 대입하거나 변수에서 값을 읽을 수 있고 함수에 값을 전달하거나 함수가 값을 반환할 수 있다는 의미입니다. 이러한 성질은 함수인 값을 데이터와 마찬가지로 조작할 수 있는 고차 함수라는 함수를 저의 할 수 있게 해 주며, 코드 추상화와 합성이 더 쉽게 가능한 유연성을 제공해 준다고 합니다. 📕고차함수 fun aggregate(numbers: IntArr..
· Skils/Kotlin
코틀린에서는 자바의 if, switch와 비슷한 if, when이 조건문을 표현한다. 📕if문 if문을 사용하면 불(boolean) 식의 결과에 따라 두 가지 대안 중 하나를 선택할 수 있다. 코틀린 if는 자바 if 문과 비슷한 문법을 제공한다. fun max(a:Int, b:Int):Int{ if(a>b) return a else return b } 조건이 참일 때 첫 번째 문장을 실행하고, 조건이 거짓일 때 else 문을 실행한다. 만약 조건이 거짓일 때 아무 일도 하지 않아도 된다면 else문을 생략해도 된다. ⚡조건은 항상 Boolean타입의 식이어야 한다! 💡자바의 if와 코틀린의 if의 차이 코틀린은 자바와 다르게 if를 식으로 사용할 수 있다는 것이다. if 식을 사용하면 max 함수를 더..
· Skils/C++
C++로 백준을 풀 때 항상 시간 초과가 난다면 나는 알고리즘의 수정보다는 위의 제목과 같은 구문을 작성해서 기존 코드에 추가했다. ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); 근데 이러한 코드가 무슨 의미인지 모르고 사용하고 있으니 궁금하기도 하고, 그래서 구글에서 검색을 하고 정리할 예정이다. 🔎ios_base::sync_with_stdio(false); ios_base::sync_with_stdio 구문은 c의 stdio와 cpp의 iostream을 동기화시켜주는 역할을 하는데 이때 iostream과 stdio의 버퍼를 모드 사용하기 때문에 딜레이가 발생한다. 따라서 ios_base::sync_with_stdio(fa..
· Skils/Kotlin
이번 글에서는 코틀린에서의 배열에 대해 알아볼 것이다. 배열구조를 구현하는 가장 일반적인 코틀린 타입은 Array 이다. val a= emptyArray() //Array원소 0개 val b = arrayOf("Hello", "world") //Array 원소 2개 val c= arrayOf(1,4,9)//Array 원소 3개 호출할 때 원소의 타입을 따로 지정하지 않아도 타입 추론 덕분에 함수 호출의 인자 타입을 알아낼 수 있다. 인덱스를 사용해서 배열의 원소를 만들어내는 방법도 있다. val size= readLine()!!.toInt() //null값이 입력된다면 null을 반환해줘라. val s= Array(size){(it+1) *(it+1)} //각 배열의 인덱스에 (인덱스+1)^2값이 들어가..
· Skils/Kotlin
이번 글에서는 수, 문자, 불, 값 등을 표현하는 코틀린 타입을 소개할 것이다. 책을 읽어본 결과 정수타입과 bit타입은 내가 사용하는 C++과 크게 다르지 않았지만, 문자에 관해서는 확실히 코틀린이 편리한 기능이 많았다. 📕문자타입 char 새 줄 문자와 같은 특수 문자를 위해 코틀린은 이스케이프를 제공한다. \t : tab \b : 백스페이스 \n : 새줄 \r : 캐리지 리턴 \' : 작은따옴표, \" : 큰 따옴표 \\는 역 슬래쉬 \$ : 달러 표시 내부에서 char 값은 그냥 문자 코드일 뿐이지만, 코틀린은 char 자체를 수 타입으로 취급하지는 않는다. 하지만 유니코드 문자 집합 내에서의 몇 가지 산술 연산을 허용한다. 다음은 char로 할 수 있는 연산이다. +/- 연산자를 사용해 ..