본문 바로가기

프로그래밍 언어8

코테용 코틀린 정리 (4) - 스택(stack), 큐(queue), 덱(deque) 스택(stack)코틀린에서 스택은 구현되어 있지 않다.  java.util 패키지에 존재하는 Stack 혹은 ArrayDeque를 사용하거나 kotlin.collections 패키지의 ArrayDeque를 사용해야 한다. - 선언 및 초기화import java.util.*fun main() { val stack1: Stack = Stack() //java.util.Stack 사용. val stack2: Deque = ArrayDeque() //코틀린 혹은 java.util의 ArrayDeque 사용.}java.util.Stack해당 패키지의 스택은 Vector로 구현되어 있다. 함수E push(E item): 스택에 item을 추가한다. 추가한 item을 반환한다.E pop(): 스택의 top에 있는 값.. 2024. 7. 3.
코테용 코틀린 정리 (3) -배열, List, Set, Map 배열배열 선언 arrayOf(): 배열의 초기값을 설정.Array(Int size) {초기값}: 초기값으로 초기화된 size만큼의 크기를 가진 배열을 선언.  List, Set, Map 공통선언 및 초기화 시 타입이 명시되어 있거나 추론할 수 있어야 한다.ex) val ls1 = mutableListOf()는 list가 어떤 타입인지 알 수 없기 때문에 오류.      val ls2: List = mutableListOf()는 Int타입임을 명시했기 때문에 오류 x.      val ls3 = mutableListOf(1, 2, 3)은 리스트 안에 있는 원소들이 어떤 타입인지 추론 가능하기 때문에 오류 x.List- 수정 불가능한 List와 수정 가능한 MutableList가 있다. -선언 및 초기화Li.. 2024. 6. 24.
코테용 코틀린 정리(2) - 자료형 변환, 수학(max, min, sqrt, pow) 자료형 변환toInt()toLong()toFloat()toDouble()toByte()toShort()toString()fun main() { val s1 = "12" val s2 = "34" System.out.println(s1 + s2) //String 1234 출력 System.out.println(s1.toInt() + s2.toInt()) //int 타입 46 출력} 수학- 패키지: kotlin.math이 패키지 안에 있는 모두를 사용하고 싶다면 kotlin.math.* 를 이용한다.import kotlin.math.* max(): 두 개의 인자 중 큰 것을 반환한다.Int max(Int a, Int b)Long max(Long a, Long b)Float max(Floa.. 2024. 6. 22.
코테용 코틀린 정리 (1) - 문자열(String) 문자열(String)선언: String 변수명val String s1;var String s2 = "hello world!" 예시를 위해 String s1이라 가정한다. - 문자열 길이s1.length-인덱스 접근s1[int index]: 반환 값은 char타입. char 타입과 int 타입의 연산 시 char 타입으로 반환된다.cf. s1.at(int index)는 지원하지 않는다. 오류가 발생한다.fun main() { val s1 = "hello" for (i in 0..4) { System.out.println(s1[i]-97) //char타입이 int 타입으로 자동 변환되어 계산되지 않음. }} s1의 원소들이 a로부터 몇번째인지 확인하고 싶다면 s1[i.. 2024. 6. 21.
C# 배열, 리스트(List), 딕셔너리(Dictionary) 배열- 선언1차원 배열: 자료형[] 변수명;2차원 배열: 자료형[ , ] 변수명;- 초기화1차원 배열: 변수명 = new 자료형[크기];2차원 배열: 변수명 = new 자료형[크기, 크기];int[] arr1; //변수 선언만int[] arr2 = new int[10]; //변수의 선언과 초기화(모두 0으로 초기화된다.)int[] arr3 = new int[5]{1, 2, 3, 4, 5}; //변수의 선언과 초기화//(중괄호 안의 숫자들로 초기화)int[ , ] arr4; //2차원 배열의 변수 선언arr4 = new int[10, 10]; // 10 * 10 크기의 2차원 배열로 초기화 -원소 참조1차원 배열: 변수명[int index]2차원 배열: 변수명[int index1, int index2] 리.. 2024. 6. 5.
[STL] 코딩테스트에 자주 쓰이는 C++ 헤더와 함수 정리 헤더 함수 설명 sort() 정렬. 시간 복잡도는 O(n*logn). binary_search() 이분 탐색. 해당 값이 있으면 true, 없으면 false를 반환한다. lower_bound() 찾는 값과 첫번째로 같거나 큰 원소가 가리키는 iterator를 반환한다. upper_bound() 찾는 값보다 첫번째로 큰 원소가 가리키는 iterator를 반환한다. min() 두 개 중 작은 값 반환. {} 안에 여러 개를 넣어 비교 가능하다. max() 두 개 중 큰 값 반환. {} 안에 여러 개를 넣어 비교 가능하다. reverse() 문자열을 뒤집는다. find() 배열, 리스트, 벡터 등에서 해당 값을 찾아 iterator를 반환한다. 없을 경우 리스트나 벡터에서는 end()를 반환한다. 배열에서는 .. 2024. 2. 22.
[STL] C++ list(리스트) 간단 정리 STL의 sequence container 중 list이다.double linked list를 구현할 때 사용하면 편리하다. -헤더list#inlcude   -선언list 변수 이름list ls; -원소 참조반복자로만 접근 가능 (at, [index] 사용 x) -멤버 함수begin(): 리스트의 맨 앞을 가리키는 iterator를 반환한다.end(): 리스트의 맨 끝 원소의 다을 가리키는 iterator를 반환한다.size(): 리스트의 크기를 반환한다.push_front(E element): 리스트의 맨 첫번째에 element를 삽입한다.push_back(E element): 리스트의 맨 끝에 element를 삽입한다.pop_front(): 리스트 맨 첫번째 원소를 제거한다.pop_back():리스트.. 2024. 2. 16.
[STL] C++ vector(벡터) 간단 정리 vector는 STL(standard template Library,표준 템플릿 라이브러리)에 존재하는 sequence container이다. -헤더vector#include   -선언vector 변수 이름ex)vector v1;vector v2;vector> v3; -원소 참조v[int index]: 벡터의 index 번째 원소를 참조한다. 범위 검사를 하지 않는다.v.at(int index): 벡터의 index 번째 원소를 참조한다. 범위 검사를 한다.-멤버 함수begin(): 벡터의 맨 첫번째 원소를 반환한다.end(): 마지막 원소의 다음을 반환한다.size(): 벡터의 크기를 반환한다.push_back(E element): 벡터의 맨 마지막에 element를 삽입한다.pop_back(): 마지막.. 2024. 2. 9.