[Kotlin] :: 조건문(if, if ~ else, if ~ else if ~ else, when)
·
[Programming Language]/[Kotlin]
◎ 조건문 1) if 조건문 if는 다른 프로그래밍 언어에서 많이 접한 것과 동일하다. 형태는 다음과 같다. if (조건식) { 참일 경우에 실행할 부분 } 조건문을 괄호로 감싸야지 오류가 나지 않는 것에만 유의하면 된다. 1-1) if ~ else, if ~ else if ~ else if ~ else 문도 다른 프로그래밍 언어에서와 동일하다. 하나의 조건식에 대해 참과 거짓의 두 경우만을 다룰 때에 사용한다. 형태는 다음과 같다. if (조건식) { 참일 경우에 실행할 부분 } else { 거짓일 경우에 실행할 부분 } 만약 조건식을 여러개 두고자 한다면 if ~ else if ~ else 문을 사용하면 된다. else if의 수에는 제한이 없다. if ~ else if ~ else 문의 형태는 다음..
[Kotlin] :: 데이터 타입(기초 타입, Char, String, Any, Unit, Nothing), 컬렉션 타입(Array, List, Set, Map)
·
[Programming Language]/[Kotlin]
◎ 데이터 타입 1) 기초 타입(Primitive type) - Int, Short, Long, Float, Double, Boolean, Byte 다른 프로그래밍 언어에서 이미 많이 접했을 데이터 타입이다. 정수를 표현하는 Int, Short, Long과 실수를 표현하는 Float, Double과 2진수를 표현하는 Byte과 true, falst를 표현하는 Boolean이 있다. 이 중 Long 타입의 변수에 값을 할당할 때는 값 뒤에 'L'을 붙여주어야 하고 Float 타입의 변수에 값을 할당할 때는 값 뒤에 'F' 또는 'f'를 붙여주어야 한다. 2) 문자, 문자열 - Char, String - Char : 문자 타입 Char 타입은 문자 하나를 표현하는 타입이다. 문자를 작은따옴표(')로 감싸서 ..
[Kotlin] :: 변수(val, var, lateinit, lazy), 함수(반환타입, 매개변수)
·
[Programming Language]/[Kotlin]
◎ 코틀린에서 변수를 선언하는 2가지 방법 - val, var 코틀린에서 변수를 선언하는 방법에는 2가지가 있다. value를 뜻하는 val과 variable을 뜻하는 var이 있다. 1) val val은 한 번 초깃값이 할당되면 추후에 값의 변경이 불가하다. 상수 개념이라고 보면 된다. val로 변수를 선언하고 값의 변경을 시도하면 오류가 발생한다. 2) var var은 val과는 달리 초깃값이 할당된 이후에도 값의 변경이 가능하다. ◎ 변수 타입 지정 및 null 허용 코틀린에서는 변수의 타입을 지정할 수 있다. 변수명 뒤에 콜론(:)을 추가하여 타입을 명시할 수 있고 데이터에 따라 값의 추론이 가능한 경우에는 타입 지정을 생략할 수 있다. - 초깃값 할당 코틀린에서 최상위에 선언한 변수나 클래스의 ..
[23.09.10] :: 학습 노트 - Python[chr(), ord(), prod(), reduce(), rindex(), rfind()]
·
Today's Learning
◎ Programmers 1) chr(), ord() chr() 함수는 아스키 코드(ASCII CODE)에 해당하는 문자를, ord() 함수는 문자에 해당하는 아스키 코드를 반환하는 함수이다. print("1) chr() 함수 예시") print("아스키 코드 65는 문자로 : ", chr(65)) print("아스키 코드 97은 문자로 : ", chr(97)) print() print("2) ord() 함수 예시") print("A는 아스키 코드로 :", ord("A")) print("?는 아스키 코드로 :", ord("?")) 2) 리스트의 곱을 구하는 2가지 방법 2-1) prod() 함수 사용 prod() 함수는 math 라이브러리에 포함되어 있다. 따라서 math 라이브러리를 import 해주어..
[23.09.01] :: 학습 노트 - Python[sort(), sorted(), startswith(), endswith()]
·
Today's Learning
◎ Programmers 이번 학습 노트는 오늘 풀어본 문제에 대한 내용이 아닌 8월 마지막 주에 풀었던 문제에 대한 내용이다. 지금까지 문제를 풀면서 익힌 함수들만 잘 숙지하더라도 앞으로의 문제를 푸는데는 어려움이 없을 것 같다. 문제를 풀수록 느끼지만 코테는 역시 알고리즘의 싸움인 것 같다. --- 1-1) sort() sort() 함수는 리스트의 요소를 정렬해주는 함수이다. 이때 기본값은 오름차순이다. 주의할 점으로는 같은 데이터 타입에 대해서만 정렬이 가능하다는 점이다. 이는 당연한게 데이터 타입이 다르면 정렬이라는 개념을 사용할 수 없기 때문이다. list_a = ['z', 'b', 'a', 'c', 'e'] print(f"정렬 전: {list_a}") list_a.sort() print(f"정..
[23.08.15] :: 학습 노트 - Python[items(), count(), index()]
·
Today's Learning
◎ Programmers 오랜만에 프로그래머스 문제를 풀어보았다. Lv 0인데도 불구하고 가끔씩 정말 어려운 문제가 껴있는 것 같다. 분주하게 레벨을 올려 나가야 할 것 같다. 문제를 풀면 풀수록 파이썬은 코테를 위한 언어라는 것이 실감된다. 코테는 누가, 얼마나 더 많은 함수를 알고 있고 잘 사용할 수 있는가의 싸움인 것 같다. --- 1) items() items() 함수는 딕셔너리에서 키와 값을 동시에 추출할 수 있는 함수이다. 단순한 내용이니 아래 예시를 한번 확인해보자. dict_a = { 'a': 1, 'b': 2, 'c': 3 } # 1. 딕셔너리 전체 값 출력 print("case 1)") print(dict_a.items()) print() # 2. for 반복문과 함께 사용 print(..
[Python] :: 클래스 총정리(객체, 인스턴스, 생성자 및 소멸자, isinstance(), 속성, 메소드, 클래스 변수, 정적 메소드와 클래스 메소드, 상속, 추상클래스)
·
[Programming Language]/[Python]
◎ 클래스(Class) 파이썬은 Java와 동일하게 객체 지향 프로그래밍 언어(Object Oriented Programming Language)이다. 사실 대부분의 프로그래밍 언어는 객체 지향 프로그래밍 언어이다. 이는 클래스를 기반으로 한 객체를 생성하여 프로그래밍 하는 것을 뜻한다. 그렇다면 객체란 무엇인가? 1) 객체(Object) 객체란 여러 가지 속성을 가질 수 있는 대상을 의미한다. 예를 들어 '사람'은 '이름', '성별', '나이' 등의 속성을 가질 수 있으므로 하나의 객체라고 볼 수 있는 것이다. 1-1) 인스턴스(Instance) 인스턴스는 클래스를 기반으로 만들어진 객체를 의미한다. 즉, '인스턴스 == 객체' 관계인 것이다. 인스턴스라는 용어는 자주 사용되니 기억해두는 것이 좋다. ..
[23.07.26] :: 학습 노트 - Python[join(), eval(), set(), dict()]
·
Today's Learning
◎ Programmers 1) join() join() 함수는 리스트의 각 문자 요소를 하나의 문자열로 합쳐주는 함수이다. 기본 형태는 다음과 같다. "구분자".join(리스트) 아무런 구분자를 설정하지 않을 경우 각 문자 사이에는 별다른 구분자가 존재하지 않고 구분자를 설정하면 해당 구분자로 각 문자가 구분되게 된다. 아래 예제를 통해 확인해보자. temp = ['a', 'b', 'c', 'd', 'e'] print("".join(temp)) print("---".join(temp)) join() 함수는 코테에서 활용성이 높은 편이니 잘 알아두고 사용하면 좋을 것 같다. 2) eval() eval() 함수는 괄호 안의 내용을 곧이 곧대로 실행해주는 함수이다. 이 함수는 사용하면 편리함이 상승되나 한편으..
[Python] :: 모듈, 패키지, 라이브러리, 프레임워크의 차이 / 모듈 세부 내용
·
[Programming Language]/[Python]
◎ 모듈, 패키지, 라이브러리, 프레임워크 1) 모듈(module) 모듈이란 최하위 개념으로 변수, 함수, 클래스 등이 포함된 하나의 파이썬 파일(****.py)이다. 사용자가 정의한 함수를 모듈로 저장하여 사용하면 유지보수가 간편하고 재사용에 용이하다는 장점이 존재한다. 2) 패키지(package) 패키지란 모듈의 상위 개념으로 여러 개의 단일 모듈이 모여 하나의 패키지를 이루게 된다. 모듈을 패키지라고도 하며 패키지를 모듈이라고도 한다. 그렇게까지 개념을 나눠서 사용하는 것 같진 않다. 3) 라이브러리(library) / 프레임워크(framework) 라이브러리/프레임워크란 여러 모듈이 모인 패키지가 모인 개념이다. 즉, 여러 패키지의 집합이라고 볼 수 있다. 라이브러리/프레임워크를 패키지라고도 하며..
[23.07.12] :: 학습노트 - Python[swapcase(), print(f"..."), print(r"..."), replace(), [::], zip()]
·
Today's Learning
◎ 프로그래머스(Programmers) 코드업 파이썬 기본 문제인 6000번대를 모두 끝내고 프로그래머스로 넘어온 첫날이다. 난이도가 낮은 Lv.0 문제를 풀어보고 다른 사람의 풀이도 확인하였는데 간단한 문제라도 러닝 타임의 차이가 많이 날 수 있다는 것을 확인할 수 있었다. 파이썬에는 문제를 푸는 데에 있어 유용한 함수들이 정말 많이 존재하는 것 같다. 1) swapcase() swapcase() 함수는 영어 문자열의 대소문자를 변경해주는 함수이다. 입력한 문자열의 소문자는 대문자로, 대문자는 소문자로 출력하는 문제에서 접하게 되었다. 이 함수를 사용하지 않았던 내 코드는 다음과 같다. str = input() for i in range(len(str)): if str[i].islower(): prin..