본문 바로가기

분류 전체보기

(308)
[백준/Python] 7562번: 나이트의 이동 문제 https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 문제 요약 l × l 크기의 체스판 위에 나이트 한 개가 있다. 현재 나이트의 위치와 나이트가 이동하려는 위치를 입력 받고, 최소 몇 번만에 이동할 수 있는지를 출력한다. 코드 from collections import deque t = int(input()) # 나이트가 이동할 수 있는 경우의 수 dx = [-2, -1, 1, 2, 2, 1, -1, -2] dy = [1, 2, 2, 1, -..
[Kotlin] 봉인된 클래스 + 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다. enum 클래스 enum class Result { SUCCESS, ERROR } fun runComputation(): Result { val a = readLine()?.toIntOrNull() ?: return Result.ERROR val b = readLine()?.toIntOrNull() ?: return Result.ERROR println("Sum: ${a + b}") return Result.SUCCESS } fun main() { println(when (runComputation()) { Result.SUCCESS -> "Completed Successfully" Result.ERROR -> "Error..
[Kotlin] 부호 없는 정수 + 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다. 부호 없는 정수 타입 자바에는 없는 부호 없는 정수 타입이 다시 생겼다. 타입 크기 (Byte) 범위 UByte 1 0 ~ 255 UShort 2 0 ~ 65535 UInt 4 0 ~ 2^32 - 1 ULong 8 0 ~ 2^64 - 1 fun main() { val ubyte: UByte = 1u val ushort: UShort = 1u val uint: UInt = 1u val ulong: ULong = 1u val ulong2 = 1uL // L 접미사로 ULong으로 추론 } 부호 있는 타입과 없는 타입간의 타입 변환 부호 있는 타입과 없는 타입은 서로 연산이 불가하다. fun main() { println(1 +..
[Kotlin] data 클래스 + 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다. 클래스의 동등성 일반 클래스의 동등성 비교를 위해서는 equals() 및 hashCode()의 커스텀 구현이 필요하다. class Person(val firstName: String, val lastName: String, val age: Int) fun main() { val person1 = Person("John", "Doe", 25) val person2 = Person("John", "Doe", 25) val person3 = person1 println(person1 == person2) // false println(person1 == person3) // true } < eq..
[Kotlin] enum 클래스 + 항공대학교 김철기 교수님의 객체 지향 프로그래밍 과목 내용를 정리한 글입니다. enum 클래스 특정 부류의 상수 집합을 표현하기 위한 클래스이다. - 한정된 개수의 인스턴스를 갖고 있다. (추가로 인스턴스를 생성할 수 없다.) enum class WeekDay { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; // enum 클래스에서는 세미콜론을 사용하여 인스턴스 종류의 끝을 나타낸다. fun isWorkDay() = this == SATURDAY || this == SUNDAY } fun main() { println(WeekDay.MONDAY.isWorkDay()) // false print..
[Algorithm] 해시 테이블 + 항공대학교 이인복 교수님의 알고리즘 해석 및 설계 과목 내용를 정리한 글입니다. 해시 테이블 1. 배열- 최악의 경우: O(n) 2. 이진 탐색 - 평균: O(log n) - 최악의 경우: O(n) 3. Red - Black Tree - 최악의 경우: O(logn) 4. B - Tree - 최악의 경우: O(log n) - 트리의 높이가 작다. O(log n) 보다 빨리 풀 수 있는가? => 해시 테이블 (Hash Table) 사용 - 평균: O(1) 가장 단순한 방식의 해시 테이블 구현 1 ~ N 사이의 수 k개가 원소인 집합을 다음과 같이 구현한다. 1. 크기가 N인 배열 A를 생성한다. 2. 수 i가 이 집합의 원소라면, A[i] = 1, 아니면 A[..