전체 글(133)
-
[프로그래머스 - JAVA] 대충 만든 자판
문제 설명 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다..
2023.10.17 -
[프로그래머스 - JAVA] 수열과 구간 쿼리 4
문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다. 각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 i가 k의 배수이면 arr[i]에 1을 더합니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,000 1 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e
2023.10.15 -
[Spring - JAVA] JVM이란
JVM = Java Virtual Machine 자바 가상 기계 "자바 프로그래밍이 실행되는 가상 컴퓨터를 말한다. JVM이 나타나기 전 대부분의 프로그래밍 언어들은 가상 기계가 아닌 OS 환경에서 실행되는 형태로 사용되었다. 또한 OS의 존재가 약했던 초기창기에는 하드웨어 상에서 직접 프로그래밍 언어가 실행되는 형태였다. 하드웨어 상에서 직접 프로그램이 실행되기 때문에 동일한 기능을 제공하지만 하드웨어 환경에 따라 다르게 프로그램을 작성해야되는 문제가 발생하였다. 이러한 상태에서 서로 다른 하드웨어를 관리해주는 운영체제의 등장으로 사용자는 운영체제만 배우면 서로 다른 구조를 가진 컴퓨터에서도 일관된 프로그램을 작성 가능하게 되었다. 하지만 다양한 운영체제와 인터넷의 등장으로 다시 한번 변화를 가지게 되..
2023.10.14 -
2023 토스 NEXT 챌린지 Android 분야 후기
참가 계기 아는 지인이 추천해서 이런 게 있다 해 경험 삼아해 보기로 해 신청하게 됬다. 실력자체가 아직 많이 부족해 경험을 해보자는 느낌으로 참여했다. 참가 과정 일단 토스 NEXT 개발자 챌린지 사이트에서 원하는 직무분야에 지원을 해야한다. 다른 곳과 지원하는 방식은 비슷하기에 어려운 점은 없을 것이다. 참가신청을 하게되는 경우 별도 메일과 테스트 진행 방식에 대한 설명과 노션 링크를 받을 수 있다. 기존 코딩테스트 방식에서 과제 테스트 방식으로 처음 변경된 거 같다.(Android 직무 한정) 이런 식으로 메일이 온다 참가 후기 일단 테스트 문제를 기대한다면 외부 유출이 철저히 금지되어 있어서 힘들 거 같다;;; 테스트 방식은 공지 처럼 특정 기능을 주제 삼아 기능 구현을 하는 방식으로 진행했다. ..
2023.07.09 -
[Docker - 도커] 도커 입문
도커란? 도커는 리눅스 응용 프로그램을 프로세스 컨테이너 별로 분리해 실행하고 관리하는 오픈 소스 플랫폼이다. 도커는 동일한 환경을 원활하게 다른 컴퓨터에도 세팅할 수 있게 만들어준다. -> 환경 세팅 과정을 각각의 컴퓨터 별로 할 필요 없이 하나의 도커 이미지를 통해 동일하게 세팅 가능하게 만들어 준다. 컨테이너란? 컨테이너는 격리된 공간에서 프로세스를 작동시키는 것으로 기존 os 가상환경과는 조금 다른 기술이다. VMware같은 경우에 학교에서 실습할 때 우분투를 다운받아 윈도우에서 VMware를 이용해 우분투 가상환경을 만들어줬다. 이러한 경우 컴퓨터의 성능이에 따라서 엄청나게 느게 작동하는 경우가 많았고 잦은 오류가 발생하였다. -> 환경 자체가 OS 내에 가상 OS를 호출하는 방식이라 프로그램 ..
2023.05.25 -
[안드로이드 - 코틀린] ViewModel을 이용한 Fragment간 데이터 공유
앞에서는 기본적인 ViewModel에 대해 학습하였다. 이번에는 이번 프로젝트에서 사용하게된 Fragment간 데이터 공유 방법에 대해 알아보자 우리가 개발을 하다 Fragment간 데이터를 공유할 때는 일반적으로 bundle을 이용한다 bundle을 생성해 내부에 데이터를 넣어주고 arguments를 이용해 데이터를 받아준다. 하지만 이번에는 ViewModel를 이용해 공유하는 방법에 대해 설명해보겠다. private lateinit var viewModel: MapViewModel viewModel = ViewModelProvider(this)[MapViewModel::class.java] 현재 사용하는 기본적인 ViewModel 작성 방식이다. + 하나의 Activity에서 생성된 Fragment ..
2023.04.30