본문 바로가기

전체 글533

[코틀린] 주 생성자 주 생성자 클래스 이름과 함께 생성자 정의를 한다. 클래스 이름 - 블록 시작 부분 사이에 선언 선언 방법 1 주 생성자의 매개변수를 프로퍼티에 할당한다. class Test (_name : String, _age : Int){ var name = _name var age = _age } 선언 방법 2 프로퍼티를 포함한 주 생성자 val, var를 사용하여 매개변수를 선언하면 인자를 따로 생성해서 할당할 필요가 없다. class Test (var _name : String, var _age : Int){ } 초기화 블록 init { } 부 생성자처럼 프로퍼티 할당 외에 다른 초기화 작업을 주 생성자에서도 할 수 있게 해준다. class Test (var _name : String, var _age : I.. 2020. 9. 19.
[알고리즘] 카드 섞기 (백준 1091번) 1091번: 카드 섞기 지민이는 카지노의 딜러이고, 지금 3명의 플레이어(0, 1, 2)가 있다. 이 게임은 N개의 카드를 이용한다. (0 ~ N-1번) 일단 지민이는 카드를 몇 번 섞은 다음에, 그것을 플레이어들에게 나누어 준다. 0�� www.acmicpc.net 문제가 좀 헷갈리긴 하는데 푸는 것 자체는 어렵지 않다. 다만 섞어도 절대 P와 같은 케이스를 만들 수 없는 경우의 수를 찾는 게 핵심인데 한 마디로 사이클을 찾으라는 뜻이다. Solution 매 반복문마다 S[i] 순서에 맞춰서 i번째 위치에 있는 카드를 S[i]번 위치로 옮기면 된다. 이 때 S[i]번째 위치로 옮긴다는 의미는 S[i]번 카드를 가지고 있는 사람이 이젠 i번 카드를 가지고 있다는 의미가 된다. while(!Arrays.e.. 2020. 9. 19.
[알고리즘] 감시 (백준 15683번) 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net 브루트 포스 + 시뮬레이션 문제다. 감시 카메라의 유형과 유형마다 감시할 수 있는 방향의 경우의 수가 많기 때문에 모듈화를 잘 해야한다. Solution 위의 경우에서 1번에서 5번 카메라까지 각각 4, 2, 4, 4, 1가지의 경우의 수가 나온다. 이 경우의 수를 배열에 저장해놓는다. static int cases[] = {0, 4, 2, 4, 4, 1}; 또한 각 카메라의 위치를 ArrayList에 보관한다. for(int i = 0;i < N;.. 2020. 9. 19.
[코틀린] Unit Unit 함수의 반환값을 생략하고 싶을 때 지정하는 반환값의 자료형 자바의 void와 유사한 역할을 한다. //반환값 생략 -> 자동으로 Unit으로 반환값 타입 추론 fun add1(a : Int, b : Int) { a + b } //Unit 반환 fun add2(a : Int, b : Int) : Unit { a + b return } // 둘다 동일한 구문 void와의 차이점 void는 아무 것도 반환하지 않지만 Unit은 Unit이라는 특수한 객체를 반환하는 것 2020. 9. 19.