본문 바로가기

목록83

[백준 2283] 구간 자르기 문제 수직선(數直線) 상에 구간 N개가 있다. 임의의 두 정수 A, B(A < B)를 정하여, 각 구간에서 A와 B 사이에 포함되지 않은 부분을 모두 잘라냈을 때 남는 부분들의 길이의 총합이 K가 되도록 하여라. 입력 1번째 줄에 정수 N, K(1 ≤ N ≤ 1,000, 1 ≤ K ≤ 1,000,000,000)가 주어진다. 2~N+1번째 줄에 각 구간의 왼쪽 끝점과 오른쪽 끝점의 위치가 주어진다. 양 끝점의 위치는 0 이상 1,000,000 이하의 정수이다. 출력 두 정수 A, B를 출력한다. 조건을 만족하는 A, B가 존재하지 않으면 “0 0”을 출력한다. 조건을 만족하는 A, B가 여러 개 존재할 때는 A가 가장 작은 경우를 출력한다. 그것도 여러 개 존재할 때는 B가 가장 작은 경우를 출력한다. 풀.. 2021. 7. 27.
2021 네이버웹툰 개발 챌린지 코딩테스트 후기 모집공고 이번 시험에서 특이했던 점은 코테 언어가 자바는 안되고 코틀린만 된다는 것이었다. 그래서 코틀린으로 코테연습 고고 1차 시험 1차 시험은 일요일에 14:00 ~ 16:00 (총 120분)에 진행되었다. 총 3문제가 나왔는데 전체적으로 문제 난이도는 굉장히 쉬운 편이었다. 모집 분야마다 문제가 다 다르게 나왔는데 후기들을 보니까 전 분야 모두 쉽게 출제 되었다.(백준 기준 브~실버 정도) 첫번째와 두번째 문제 모두 그리디로 풀었다. 세번째는 내가 실수했는데 브루트포스로 해결해야 했는데 잘못생각해 그리디하게 풀어서 틀렸을것이다. 그래서 결과는 떨어졌을거라고 생각했다.(문제가 전반적으로 쉬워서) 1차 시험 결과 근데 운이 좋았는지 합격해버렸다. 2차 과제 2차 과제테스트가 있는데 얘기해도 되는지 모르.. 2021. 7. 11.
2021 카카오 채용연계형 인턴십 코딩테스트 후기 올해 상반기에 치뤘던 카카오 채용연계형 인턴십 코테 후기를 남겨볼까 합니다. 모집공고 시험안내 시험 유의사항 - IDE 사용 가능 - 인터넷 검색 가능 시험 문제 - 5문제 240분 - C++, Java, Python3, JavaScript, , Swift, Kotlin - 타인의 코드를 복사하거나 도움을 받을 경우 탈락 시험 후기 1번 문제는 구현이었는데 굉장히 쉬웠습니다.(프로그래머스 level-1) 2번 문제도 BFS로 해결 할 수 있는 쉬운 문제였습니다(프로그래머스 level-2) 3번 문제부터 굉장히 어려워 졌는데 List+TreeSet을 이용해 해결했습니다. (프로그래머스 level-3) 4번 문제는 다익스트라인건 알겠는데 거기에 비트마스킹을 해야하는 문제인걸 나중에 알게됐습니다. (프로그래머.. 2021. 7. 11.
안드로이드 include, merge, viewstub 안녕하세요. 이번 포스팅에서는 안드로이드에서 뷰의 성능 개선을 위한 3가지 태그를 설명 드리려고 합니다. 우리가 일반적으로 xml에 레이아웃을 정의하면 똑같은 뷰를 여러번 정의하거나 쓸까 말까한 뷰도 생성되게 정의하거나 또는 레이아웃의 깊이가 깊어져 성능이 안좋아 지는 경우가 있습니다. 이를 개선하기 위해 사용되는 것이 위 3개의 태그입니다. 첫째로 같은 레이아웃을 여러번 그릴 때 태그로 이를 개선할 수 있습니다. 를 사용하면 하나의 레이아웃을 정의함으로써 동일한 레이아웃을 여러번 정의할 수 있기 때문에 굉장히 편리한 태그입니다. 우선 include할 layout 파일을 만든 후 이를 으로 감싼다음 android:layout = "@layout/include_appbar" 를 정의하여 사용할 수 있습니다.. 2021. 7. 8.
코틀린 Sealed Class와 Enum Class 안녕하세요. 이번 포스팅에서는 Sealed Class와 Enum Class의 차이 및 Sealed Class의 사용에 대해 적어보려고 합니다. Enum Class는 열거형이라고도 부르며 각 서브클래스들이 상수화된 클래스들입니다. 즉 각 서브클래스들이 고정적인 형태를 지니게 됩니다. 아래 코드처럼 Animal 이라는 Enum 클래스에 Dog, Cat, Pig라는 서브클래스들이 존재합니다. 그리고 이 클래스들은 name을 가지게 되는데 이는 정적인 형태로 항상 같은 값을 가지게 됩니다. enum class Animal(name: String) { Dod("dog"), Cat("cat"), Pig("pig"); } Enum 클래스를 사용하면 가독성이 좋아지고 명확하게 알고 있는 상수형이 있을 때 사용하기 편합.. 2021. 7. 1.
자바 어노테이션(2) - 리플렉션 안녕하세요. 이번 포스팅에서는 어노테이션이 리플렉션을 통해 어떻게 사용될 수 있는지 적어보려고 합니다. 리플렉션이란 클래스의 정보를 알아내는 것인데 동적으로 클래스 정보를 얻을 수 있는 프로그래밍 방법입니다. 클래스만 알고 있다면 해당 클래스의 변수나 메소드 등을 알 수 있습니다. 이 리플렉션을 통해 클래스에 어떤 어노테이션이 적용 되었고 해당 어노테이션에 대한 정보 또한 알 수 있습니다. 코드는 코틀린 기준으로 작성되었으며 이를 기준으로 설명드리겠습니다. 일단 프로젝트에 코틀린에서 리플렉션을 사용하기 위한 라이브러리를 설치합니다. implementation "org.jetbrains.kotlin:kotlin-reflect:1.5.20" 어노테이션과 이를 적용할 data class를 선언하겠습니다. @k.. 2021. 6. 23.