본문 바로가기

전체 글

(239)
169. Majority Element 출처 Majority Element - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com [문제 설명] 제일 많이 나온 원소를 리턴하시오. 참고로 제일 많이 나온 원소는 절반 이상 나옵니다. [처음 생각한 접근 방법] 1번 풀이 맵에 키는 숫자, 값은 숫자 개수로 넣어서 값이 n/2보다 커지면 키를 리턴. 매번 키를 넣을 때마다 map에서 조회를 하기 때문에 느림. 2번 풀이 1번이랑 똑같은 방식인데 맵에 값을 다 넣고 조회를 해줌. 맵에 값(숫자의 개수)가 절반보..
557. Reverse Words in a String III 출처 Reverse Words in a String III - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com [문제 설명] 문장을 공백으로 나눠서 역순으로 정렬한 후 return abcd abc면 abcd -> dcba cba로 리턴하면 됨. [처음 생각한 접근 방법] 1.문자 배열을 주어진 String s랑 같은 크기의 배열(char[] charArray)을 만든다. 2.s를 0부터 차례대로 돌림. 그러다가 공백이 나오면 처음 인덱스부터 공백 이전 인덱스까지 ..
690. Employee Importance 출처 [문제 설명] 직원들의 리스트와 직원 아이디가 주어졌을 때, 주어진 아이디와 일치하는 직원의 중요도와 그 직원의 모든 부하직원들의 중요도의 총합을 구하시오. 예제에서는 주어진 id가 1이고, 부하 직원이 두명 밖에 없으므로 이 셋의 합인 5+3+3인 11이 됩니다. [처음 생각한 접근 방법] 보자마자 생각 난 건 일단 리스트로 직원이 주어졌으니 리스트(employees)에서 아이디(id)와 일치하는 employee를 찾아서 뽑는 것입니다. 그 후에 해당 employee를 Queue에 넣고 bfs로 모든 요소를 검색한 후, 각 요소들의 중요도(importance)를 총합을 구합니다. 이렇게 풀려고 했는데 막상 보니까 employee의 subordinates가 아이디(id)를 담은 리스트였습니다. 저는..
안드로이드 Manifest 출처 이 글은 안드로이드 공식 홈페이지에서 작성 된 공식 가이드를 기반으로 개인적으로 요약 및 정리한 내용입니다. 틀린 내용이 있는 경우 정정 해주시면 감사하겠습니다. Manifest Manifest는 안드로이드 프로젝트에 존재하는 디렉터리로, App을 구동하는데 필요한 정보들을 담거나 Activity의 관리를 해줍니다. 인텐트 컴포넌트에 액션, 데이터 등을 전달하는 메시지 컴포넌트 인텐트 필터 Intent는 메시징 객체로, 다른 앱 구성 요소로부터 작업을 요청하는 데 사용할 수 있습니다.(수신할 수 있는 인텐트를 정의합니다.) 인텐트 필터는 Android 플랫폼의 매우 강력한 기능입니다. 인텐트 필터는 명시적 요청뿐만 아니라 암시적 요청을 기반으로도 활동을 실행하는 기능을 제공합니다. 예를 들어 명시적..
104. Maximum Depth of Binary Tree 최대 깊이를 구하시오. 그림에선 3이 깊이 1이고, 9랑 20이 깊이 2, 15랑 7이 깊이 3이므로 깊이 3을 리턴하면 됨. [내가 작성한 코드] import java.util.LinkedList; import java.util.Queue; class Solution { public int maxDepth(TreeNode root) { Queue q = new LinkedList(); int depth = 0; if (root == null) { return depth; } q.offer(root); while (!q.isEmpty()) { int size = q.size(); while (size-- > 0) { TreeNode node = q.poll(); if (node.left != null) ..
안드로이드 액티비리(Activity)란? 출처 활동 소개 | Android 개발자 | Android Developers 활동은 사용자가 전화 걸기, 사진 찍기, 이메일 보내기 또는 지도 보기와 같은 작업을 하기 위해 상호작용할 수 있는 화면을 제공하는 애플리케이션 구성요소입니다. 각 활동에는 사용자 인터페 developer.android.com 이 글은 안드로이드 공식 홈페이지에서 작성 된 공식 가이드를 기반으로 개인적으로 요약 및 정리한 내용입니다. 틀린 내용이 있는 경우 정정 해주시면 감사하겠습니다. Activity Activity 클래스는 Android 앱의 중요한 구성요소로 Activity가 실행되고 결합되는 방식은 플랫폼 애플리케이션 모델의 기본 요소입니다. 일반적으로 pc에 App은 늘 동일한 위치에서 시작하는 반면, 모바일의 App..
Docker - 도커 이미지와 컨테이너 해당 글은 따라하며 배우는 도커와 CI 환경 강의를 참조하여 작성 됐으며, 틀린 정보가 많을 수 있습니다. 찾아서 정정해주시면 아주 아주 감사하겠습니다. 도커란 무엇인가? 출처 Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. 도커를 사용하는 이유 Docker를 사용하는 경우 프로그램의 설치가 굉장히 간단해집니다. ex ) 일반적으로 프로그램을 깔려면 프로그램 홈페이지에 들어가서 설치 파일을 다운 받아서, 실행하여 다운 받지만 Docker를 사용하면 "docker run 원하는 프로그램" 입력하면 프로그램이 설치가 됩니다. Docker를 사용하면 환경에 구애 받지 않고애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제 없이 실행될 것임을 확신할 수..
윈도우10 Docker for Desktop WSL2 is not installed 해결 방법 찾은 곳 Docker 강의를 듣다가 Docker for Desktop을 설치해서 실행하게 됐는데, 에러가 떴습니다. 에러 문구 내용을 대충 보니 WSL2가 깔려 있지 않으므로 powershell을 사용하여 설치하라 합니다. powershell을 관리자로 실행합니다. 경고문에서 나온 명령어 Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux") 입력 후 엔터. 위에 Running 메시지가 뜨고, 끝나면 재시작하겠냐는 문구가 뜹니다. 컴퓨터를 재시작합니다. 링크 위 페이지에 들어가서 리눅스 커널을 다운 받고 실행합니다. 그냥 설치하면 됩니다. 설치..