전체 글
[백준] 추월 (2002) - Java
https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net [문제 설명] 터널에 내부에서 추월한 차량의 대수를 출력하는 문제입니다. 문제를 더욱 쉽게 직관적으로 이해하기 위해 그림으로 설명 드리겠습니다. [a, b, c, d]의 자동차들이 순서대로 터널에 진입을 하게 됩니다. 그 후 아래의 그림과 같이 차량들이 터널을 빠져 나오게 되며, [d, a, c, b] 차량 순으로 차가 빠져 나오게 됩니다. d, c 차량이 추월을 한 경우이므로 추..
[Kotlin] - 코틀린 기본 문법 2
기본 문법2 (?:, ?., as?, !!, lateinit) 엘비스 ?: 연산자 fun main(args: Array){ var fishFood : Int? = null fishFood = fishFood?.dec() ?: 0 println(fishFood) } fun main(args: Array){ var yts: String? = null fun elvis() { val name: String = yts ?: "YTS" val nameTwo: String = yts ?: return //함수자체를 return 시키도록 만들 수 도 있음 val nameThree: String = yts ?: throw NullPointerException() } } 엘비스 연산자는 널 값을 허용하지 않는 변수에 널..
[Kotlin] - 코틀린 기본 문법 1
코틀린 기본 문법 reference by Kotlin 공식 문서 Kotlin 구조 package kotlinproject fun main(){ println("Hello World") } .kt 확장자를 가진다. package, import 선언부는 자바와 동일 함수의 fun 키워드로 시작한다. 리턴 타입은 함수명() 뒤쪽에 명시 코틀린은 문장의 끝을 세미콜론으로 명시하지 않음 변수 타입, 정의 및 초기화 데이터 타입에 관계 없는 상수는 val, 변수는 var 로 선언 데이터 타입을 명시하지 않아도 할당 해주는 값에 따라 자동으로 결정됨 val는 자바와 final과 같으므로 다른 값으로 재 할당할 경우 위와 같이 오류가 난다. 위의 경우는 var 키워드로 num 변수를 int 형으로 타입을 정하였는데, ..
[Kotlin] 코틀린에서의 변수 사용법
변수에는 아래와 같이 두 가지 형태가 있다. val (value) - 변하지 않는 상수이며 val 키워드로 선언 var (variable) - 가변 변수이며 var 키워드로 선언 변수 선언과 동시에 값 넣기 var name = "seyoung" 값으로 초기화하지 않고 선언만 하고 사용하기 var name : String name = "seyoung" 선언만 할 경우에는 반드시 변수 명 옆에 콜론(:) 구분자를 붙여서 자료형을 지정 해주어야 합니다!! 코틀린에서 제공되는 기본 데이터 타입은 아래와 같습니다. 구분 데이터 타입 설명 숫자형 Double 64 비트 실수 Float 32비트 실수 Long 64비트 실수 Int 32비트 실수 Short 16비트 실수 Byte 8비트 정수 문자형 Char 1개의 문..
[백준] Cupid (16460) - Java
https://www.acmicpc.net/problem/16460 16460번: Cupid The name of a premium user, his or her gender preference, and maximum geographical distance are given, separated by a space, in the first line. The maximum geographical distance is an integer. The gender preference is one of 'F', 'FM', 'M', and 'MF', re www.acmicpc.net [문제 설명] 간략히 해석하자면, 인터넷 데이팅 서비스를 제공하는 기업에서 프리미엄 사용자에게 누가 나를 좋아했는지 확인하기"와 같은 프..
[백준] 노드 사이 거리 (1240) - Java, bfs
https://www.acmicpc.net/problem/1240 1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net [입력] 첫 번째 라인은 노드의 개수와 거리를 알고 싶은 노드의 쌍의 수가 주어진다. 두 번째 라인부터 N-1개의 줄에 노드의 쌍과 거리가 주어진다. 그 다음 라인부터는 거리를 알고 싶은 M개의 노드의 쌍이 주어진다. [문제 해결] 노드를 양방향 연결을 한다. 시작점을 큐에 넣고 방문 처리를 해준다. bfs를 돌리면서 인접 노드들의 거리를 계산해준다. 마지막 노드에 도착하면 종료한다. [Java - bfs] import java.io.Buff..