f '분류 전체보기' 카테고리의 글 목록 (7 Page) — 하늘속에서IT

분류 전체보기

    Programmers :: DFS(깊이 우선 탐색법) 네트워크 레벨 3

    풀이 import java.util.* class Solution { fun solution(n: Int, computers: Array): Int { val graph = Graph(n, computers) graph.buildEdge( graph.computersToRelationList() ) return graph.getNetworkSize() } } class Graph(n: Int, computers: Array) { val N: Int = n val adj = Array(N) { LinkedList() } val computers = computers fun buildEdge(relationList: List) { relationList.forEach { relation -> this.adj..

    Programmers :: Greedy(탐욕법) 체육복 레벨1

    풀이 class Solution { fun solution(n: Int, lost: IntArray, reserve: IntArray): Int { // 학생들의 체육복 default 갯수 val students = IntArray(n) { 1 } // 학생들중 체육복을 잃어버린 사람 lost.forEach { los -> students[los - 1] = students[los - 1] - 1 } // 학생들중 체육복 여벌을 가지고 있는 사람 reserve.forEach { res -> students[res - 1] = students[res - 1] + 1 } /** * 설명 * - 체육복을 잃어버린 사람의 앞뒤를 확인한뒤 여벌이 있는 자의 체육복을 빌린다. * * 부연 설명(특이점) * - 첫번..

    NodeJS :: NVM Exit Status 5 ... 에러 발생 해결 방법(nvm-windows, 윈도우즈 환경, 1.1.8v)

    최근에 npm 을 업그레이드 하려다, 모든 패키지의 버전을 업그레이드 하면서 nvm 의 버전이 높아지면서 겪게 된 이슈이다. 필자는 윈도우즈 환경에서 nvm 1.1.8v 을 설치하여 사용하고 있다. 즉, nvm-windows 를 사용하고 있으며 해당 패키지의 설치는 아래 링크에서 진행하면 된다. Releases · coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 문제 원인 nvm exit status 5 는 admin access 에러이다. 즉, 관리자 권한이 없었기 때문에 발생한 오류이다. 종종 관리자 권한에..

    WIKI :: 프로그래밍 표기법(kebab-case, snake_case, camelCase, PascalCase)

    Vue에 대해 공부를 진행하면서, `html과 css는 대소문자를 구분하지 않고 모두 소문자 취급` 한다는 것을 알게되었고, 그럼에 따라 `프로그래밍 표기법`으로 구분을 하게 되면서, 중요하다고 판단되어 정리하고자 한다. 프로그래밍 표기법 나무위키 에서는 다음과 같이 설명하고 있다. 기계가 이해하기엔 결과적으로 동일하지만, 코드를 작성하는 건 인간이기 때문에 (비단 코드를 짠 본인이 아니라도) 열람 및 유지보수를 용이하게 하기 위해 어느 정도 통일된 스타일의 필요성이 생겨난 것으로 추정된다. ... 코딩 스타일이 카멜레온마냥 변하는 것은 가장 안 좋은 습관이다. 표기법의 종류 표기법의 이름들의 표시를 통해 표기법을 유추 해볼 수 있다. 1. kebab-case 하이픈( - )으로 단어를 연결하는 표기법 ..

    Android :: RoomDatabase inital data(PrePopulating) 데이터베이스 초기 데이터 값 저장하기

    RoomDatabase가 처음 생성될때 초기 데이터 값을 넣는 방법이다. Room은 Callback을 제공하는데, 이때 Callback내에서 db가 처음 생성될때 불리는 `onCreate`를 사용하는 것이다. (여기서 onCreate는 모든 테이블이 생성된 뒤에 불린다고 나와있다.) 구현 설명 1. Entity public class SomeEntity{ private String name; private Integer age; } SomeEntity가 있다고 가정하겠다. 2. DAO @Dao public interface SomeEntityDao { @Insert public void insert(SomeEntityDao); } Entity가 있으니, DAO도 있다고 가정해보자. 3. Execute p..

    Android :: Notification을 사용하여 간단한 알림을 만들기(예제포함)

    안드로이드의 Notification을 구현하려면, Notification Channel을 생성해야 합니다.(특정 조건에서만 구현) Android 버전 `O` 이상부터, Notification Channel 개념이 추가되었습니다. 따라서, `O`버전 이상에 대해서 Channel을 추가해 주어야 합니다. 1. activity_main.xml 수정 이번 에제에서는 버튼 클릭으로 동작되는 Notification을 살펴볼 것입니다. 2. Notification 생성 Intent 는 PendingIntent내에서 필요하기 때문이다. PendingIntent는 Notification.setContentIntent(...) 의 인수로 들어가게된다.(클릭시의 동작을 위해) Intent notificationIntent ..

    Android :: Toolbar 사용 방법과 메뉴 커스터마이징(three dots image color, 메뉴의 위치, 예제포함)

    1. ToolBar 설명 안드로이드는 기본적으로 상단에 ActionBar를 제공한다. ActionBar는 View가 아니기 때문에 Customizing에 어려움을 겪는다. 예를들면 어플의 왼쪽 위 부분에 텍스트 대신 로고를 넣고 싶을때 그렇다. ToolBar는 View이다. 그렇기 때문에 Customizing ActionBar에 비해 자유롭다. ToolBar는 Api 21 부터 지원되기 시작하였다. 우리는 ActionBar를 사용하지 않을것이기 때문에, 우선 ActionBar를 제거해 줄것입니다. 또한, 이후의 작업에 대한 약간의 응용을 위해 themes.xml(style.xml)의 수정이 필요하겠습니다. 2. themes.xml(style.xml) ... // 이때 중요한건 parent의 값중에 NoA..

    Android Debug :: 4.1ver 이후로 생기는 Plugin Error 를 해결하는 방법

    - 처음에는 신경을 쓰지 않았던 로그이지만, 매일같이 들어가던 작업 도구 이기에 어느 순간부터 신경이 쓰이기 시작했다. - 단순한 해결 방법으로는 삭제가 답이라고 생각 되어서, plugin에 들어가봤지만 어디에도 설치가 되어있지 않다고 쓰여있는 상태... (`ctrl + shift + s` => 안드로이드 settings) 필자가 선택한 방법은 해당 플러그인이 존재하는 폴더에 들어가서 직접 삭제해 주어야 했다. 1. `win + e`(파일탐색기) => `ctrl + L`(주소창 선택 윈도우 기준) => `%APPDATA%\Google\AndroidStudio4.1\plugins` 2. 오류가 나는것들에 대해서 삭제하여 준다.(참고로 필자는 해당 plugin을 사용하지 않은지 꽤 되었다.) 3. 더 이상 ..

    ByteArrayOutputStream 는 어떻게 사용되는 것일까?

    필자는 기본적으로 File 에 대한 접근을 할때, `OutputStream`을 상속하는 파일 관리자 클래스를 많이 사용하곤 했다. 예를 들면 아래와 같은 `FileOutputStream`이 대표적이다.File file = new File(filePath, "파일명")FileOutputStream fos = new FileOutputStream(file) 기본적으로 `FileOutputStream, DataOutputStream, BufferedOutputStream` ... 을 호출시 File 관련 파라미터가 위 예제와 같이 존재한다.  그래서 늘 위의 `코드`와 같이 파일과 Steram 클래스의 연결을 통해 I/O 를 처리하였는데, 최근 동료의 코드를 리뷰하면서 ByteArrayOutputStream ..

    OS 마다 서로 다른 파일 구분자(Java, File, FileSeparator)

    파일 구분자 개요 흔히 url 입력하듯이 `/`을 입력하는 것이 파일을 구분하는것의 당연함이라고 생각했지만 검색해보니, OS마다 다른 파일 구분자를 가지고 있었다. 그것을 흔히 사용하는 두개의 OS로 구분하고자 한다. 윈도우 : \ 리눅스 : / 만약 다음과 같은 파일 구조를 가지고 있다고 할때 fileGrandParent ->fileParent ->->fileChildren 각각의 OS는 파일 구분자가 다름으로 인해서, 표시하는 방식이 다르게 된다. 윈도우 : fileGrandParent\fileParent\fileChildren 리눅스 : fileGrandParent/fileParent/fileChildren 그렇지만 요즘의 프로그램들은 `\`(백슬래시), `/`(슬래시) 든 알아서 인식한다고 한다...