728x90
반응형
728x90
반응형
특정한 코드를 지정한 숫자만큼 반복한다. while과 do~while의 사용법은 자바와 같지만 for은 매우 다르니 아래의 코드를 참조 fun main(){ var a = 0 while(a
다른 언어들과 같이 when, if등 조건연산자 사용이 가능한데 kotlin에서는 사용 방식이 조금 다르다. 다르지만 더 가독성있고 간편하게 바뀐 느낌이 든다. 아래 예시를 참고하여 사용하자 fun main(){ var a = 1 var result = when(a){ 3 -> println("1이 맞습니다") // 위의 조건문이 True일 경우 아래 True문은 실행되지 않는다. is Int -> println("Int형이 맞구요") !is Int -> println("Int형이 아닙니다") else -> println("다 틀려요!!") } println(result) } 위의 코드는 출력된 값을 result에 담아서 사용했지만, 만약 결과값(println)만 필요한 경우 아래와 같이 바꾸어서 사용한..
프로그래밍 언어의 꽃인 함수를 만드는 방법을 알아보자 변수의 명칭 타입을 항상 variable의 약자인 var로 지정했듯이 function도 fun으로 축약하여 표시한다. 예시로 더하기 메서드, 함수를 만들어본다면 아래와 같이 만들 수 있다. fun add(a:Int, b:Int, c:Int):Int{ return a+b+c } fun main(){ var a = add(1, 2,3) println(a) } 단순하게 abc의 int 값을 더해서 출력하는 메서드. 이런 간단한 메서드 같은 경우 아래와 같이 한줄로 표현할 수 있고 뒤에 붙은 :Int의 반환형을 생략할 수 있다. (타입추론 = 컴파일러에게 반환값을 유추하게 하여 자동으로 반환값을 할당하게 한다) fun add(a:Int, b:Int, c:In..
명시적 형변환이란 각기 다른 타입의 변수를 할당하는 것을 말한다. 자바 같은 경우 암묵적 형변환을 인정해주지만 kotlin에서는 형변환의 오류를 막기위해 꼭 형변환을 해주어야 한다. // 명시적 형변환 var b : Float = 123.3f // toLong 등 형변환의 타입에 맞추어야 한다 var a : Long = b.toLong() 배열을 지정할 때에는 아래의 코드를 실행하여 배정한다. 비어있는 리스트를 만들기 위해 arrayofNulls를 사용한다. array를 사용할 때는 다른 언어들처럼 [] 인덱싱을 사용하여 값을 출력한다. []를 사용하여 특정 인덱스에 값을 배정할 수도 있다. var arr = arrayOf(1,2,3,4,5) var nullArr = arrayOfNulls(5) prin..
제일 많이 사용되는 개발환경인 android studio와 intellij 중 android studio를 사용하여 문법을 연습 kotlin은 자바와 많이 비슷한 부분이 있어서 만약 자바를 배우신 분이라면 학습하기가 용이할 것이다. 기본적으로 fun main()이라는 메서드를 실행하여 코드를 실행한다. fun main(){ // 자바와는 다르게 = 이 아닌 : 로 변수의 타입을 할당하고 =를 사용하여 값을 배정한다 var a : Int = 123 print(a) } 자바와 다른점은 ; 을 생략해도 컴파일러 자체에서 추가해주고 모든 변수가 initialized, 즉 초기화되어야 사용이 가능하다. 초기화가 필수이므로 kotlin은 null 값 배정이 허용되지 않는다. initialized가 필수인 조건이므로..
구현(implementation)이란 머릿속에 있는 알고리즘을 소스코드로 변환하는 과정이다. 모든 알고리즘에 포함되는 개념이므로 구현 알고리즘 문제는 모든 알고리즘 문제를 대변하는 것이라고 말할 수 있다. 구현 문제 유형 예시 완전 탐색 : 모든 경우의 수를 모두 다 계산하는 해결 방법 시뮬레이션 : 문제에서 제시된 알고리즘을 한단계식 차례대로 직접 수행하는 방법 예시로 시각 알고리즘을 풀어보자 #정수 N이 입력되면 00:00:00시부터 N시 59분 59초까지 모든 시각 중 3이 하나라도 들어가는 모든 경우의 수 구하기 #1이 입력되면 00시 00분 03초, 00시 13분 30초 등등 from itertools import product t = int(input()) #초당 3초 30초 33초 #분당 3..
def를 선언하여 함수를 실행할 때 함수 밖의 전역 변수를 변경해야 할 때가 있다. 이때 global키워드를 선언하여 함수 밖에 선언된 전역변수를 참조하여 실행할 수 있다. a = 0 #전역변수 def func(): global a #global 키워드로 함수 밖의 전역변수를 참조 a+=1 for i in range (5): func() print(a) 1 2 3 4 5 파이썬에서 람다 표현식을 사용할 수 있는데 특정한 기능을 한줄에 작성할 수 있게 만들어준다. add메서드를 람다 표현식으로 구현하는 아래의 예시코드 print((lambda a, b: a+b)(5,5)) 10
집합은 리스트, 문자열을 사용하여 만들 수 있다. 집합은 아래의 특징을 가진다. 중복을 허용하지 않음 순서가 없음 리스트와 튜플과는 다르게 순서가 없기 때문에 오직 키를 조회하여 값을 받아낼 수 있다. 인덱싱을 사용해서 값을 받는 것은 불가능. 집합 자료형으로 초기화 시 아래의 코드를 입력하면 된다. a = {1,2,3,3,3,3} b = set([1,2,3,3,3,3]) print(a) print(b) {1, 2, 3} {1, 2, 3} 집합 자료형을 연산할 때 아래의 기호로 연산한다. 합집합 : | 교집합 : & 차집합 : - 아래는 예시코드. * 차집합은 기준이 다르면 값이 다르게 나오기 때문에 주의해야 한다. a = {1,2,3,4,5} b = {3,4,5,6,7} print(a | b) prin..