굥뷰를 햡시댜
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 www.acmicpc.net 2017년 하반기 모 기업 코딩테스트 문제입니다. 더 이상 인구 이동이 없을 때까지 지속된다는 반복 조건을 처리해주는 것에 대한 경험..
https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. 칸에는 상어가 최대 한 마리 들어있을 수 있다. 상어는 크기와 속도를 가지고 있다. 낚시왕은 처음에 1번 열의 한 칸 왼쪽에 있다. 다음은 1초 동안 일어나는 일이며, 아래 적힌 순서대로 일어난다. 낚시왕은 가장 오른쪽 열의 오른쪽 칸에 이동하 www.acmicpc.net 2019년 상반기 모 기업의 코딩테스트 유사 문제입니다. 쉽다는 사람들이 대부분이었지만 처음 코드를 짰을때 시간초과가 많이 나서 코드를..
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 www.acmicpc.net 2019년도 상반기 모 기업의 코딩 테스트 문제로 나왔었던 문제이다. 당시 시험장에서는 더 높은 10만이었나? 아무튼 더 높은 수의 범위를..
https://www.acmicpc.net/problem/17142 문제 풀이 시간 : 2시간 예제 케이스를 디버깅하다가 비활성 바이러스를 활성 바이러스로 바꿔줬을 때 소요시간 처리하는 것에서 잘못된 값이 들어가는 것을 확인하고 이것을 수정해주느라 시간이 많이 걸렸다. 실제 시험장에서 긴장했을 경우, 실수했을때 소요되는 시간을 고려해본다면 아마 3시간 동안 한 문제를 간신히 풀었을 것으로 생각된다.. 내가 생각하는 문제의 요점은 바이러스를 퍼뜨리는데 소요되는 시간을 정확히 구해야 한다. (비활성 바이러스를 활성화 바이러스로 바꾸는 것은 바이러스를 퍼뜨리는 것이 아님) -----------------------------------------------------------------------------..
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 왼쪽 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼 www.acmicpc.net 2019년 상반기 삼성전자 ds 기출문제중 한 문제와 유사한 문제입니다. 저는 BFS를 이용해 풀었고 난이도는 이전의 삼성 역..
1. Property 선언 코틀린 클래스는 Property를 가질 수 있음( var(mutable) / val(read-only) ) class Address { var name: String = "Kotlin" val city: String = "Seoul" } Property 사용은 자바의 필드를 사용하듯이 하면 됨 fun copyAddress(address: Address): Address { val result = Address() result.name = address.name //... return result } 2. Property 문법 //전체 문법 var [: ] [= 생략 가능한 옵션들 -> PropertyType - property_initializer로 타입을 추론 가능할 경우 생..
1. 상속 Kotlin에서 최상위 클래스는 Any 입니다. 클래스에 상위타입을 선언하지 않으면 Any가 자동으로 상속됩니다. class Example1// Any 자동 상속 class Example2 : Any() // Any라는 클래스를 상속 -> Any자리에 클래스 이름이 들어오면 ok Any는 java.lang.Object와는 다른 클래스 입니다. -> (equals(), hashCode(), toString()만 있음) package kotlin public open class Any { public open operator fun equals(other: Any?): Boolean public open fun hashCode(): Int public open fun toString(): Stri..
1. 클래스 클래스는 class 키워드로 선언 //class, 클래스 이름, 클래스 헤더(형식 매개변수, 기본 생성자 등), 클래스 바디로 구성 class Invoice(data: Int) { } 헤더와 바디는 옵션, 바디가 없으면 {} 생략 가능 class Empty *Kotlin에서는 기본 생성자와 보조생성자가 분리됨 -> 이것들을 좀 잘 알아놔야 합니다!! 2. 기본 생성자(Primary Constructor) 클래스 별로 1개만 가질 수 있음 클래스 헤더의 일부 클래스 이름 뒤에 작성 class Person constructor(firstName: String) { } 어노테이션이나 접근지정자가 없을 때는, 기본생성자의 constructor 키워드를 생략가능 class Person(firstNam..