728x90

Programming 151

[Android] DI(종속성 주입) Hilt 공부

DI(Dependency Injection)에 대해 공부하면서 Hilt, NetworkModule을 세팅해봤는데 그 과정에서 찾아본 참고 자료와 내가 이해한 내용을 기록해보려 한다... ✅ HiltDI란? Dependency Injection(종속성 주입)객체가 의존성을 직접 생성하지 않고, 외부로부터 받아서 사용DI를 구현하면 아래와 같은 장점이 있다.코드 재사용 가능(코드 결합도를 낮춤), 리팩토링 편의, 테스트 편의Hilt는 DI를 쉽고 효율적으로 사용할 수 있게 해주는 도구.Hilt는 애플리케이션의 다양한 수명 주기를 고려해서 의존성을 관리하기 때문에 메무리 누수 등의 문제를 방지하는 데에도 도움이 된다.Android 앱에서 Hilt를 사용하려면?Hilt 플러그인과 종속 항목을 추가@HiltAnd..

Programming/Android 2024.05.25

[프로그래머스/JavaScript] 방문 길이(Lv.2)

문제https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다.U: 위쪽으로 한 칸 가기D: 아래쪽으로 한 칸 가기R: 오른쪽으로 한 칸 가기L: 왼쪽으로 한 칸 가기캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다.예를 들어, "ULURRDLL..

[프로그래머스/JavaScript] 호텔 대실(Lv.2)

문제https://school.programmers.co.kr/learn/courses/30/lessons/155651?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr호텔을 운영 중인 코니는 최소한의 객실만을 사용하여 예약 손님들을 받으려고 합니다. 한 번 사용한 객실은 퇴실 시간을 기준으로 10분간 청소를 하고 다음 손님들이 사용할 수 있습니다.예약 시각이 문자열 형태로 담긴 2차원 배열 book_time이 매개변수로 주어질 때, 코니에게 필요한 최소 객실의 수를 return 하는 solution 함수를 완성해주세요. [ ..

[백준/Kotlin] 경사로(14890)

문제https://www.acmicpc.net/problem/14890크기가 N×N인 지도가 있다. 지도의 각 칸에는 그 곳의 높이가 적혀져 있다.오늘은 이 지도에서 지나갈 수 있는 길이 몇 개 있는지 알아보려고 한다. 길이란 한 행 또는 한 열 전부를 나타내며, 한쪽 끝에서 다른쪽 끝까지 지나가는 것이다.다음과 같은 N=6인 경우 지도를 살펴보자.이때, 길은 총 2N개가 있으며, 아래와 같다.길을 지나갈 수 있으려면 길에 속한 모든 칸의 높이가 모두 같아야 한다. 또는, 경사로를 놓아서 지나갈 수 있는 길을 만들 수 있다. 경사로는 높이가 항상 1이며, 길이는 L이다. 또, 개수는 매우 많아 부족할 일이 없다. 경사로는 낮은 칸과 높은 칸을 연결하며, 아래와 같은 조건을 만족해야한다.경사로는 낮은 칸에..

Programming/Kotlin 2024.05.17

[백준/Kotlin] 여왕벌(10836) - 서브태스크4 해결 못함

문제https://www.acmicpc.net/problem/10836크기가 M×M인 격자 형태의 벌집이 있다. 이 벌집의 각 칸에는 여왕벌이 될 애벌레들이 한 마리씩 자라고 있다. 격자칸의 좌표계를 다음과 같이 설정한다. 제일 왼쪽 위 칸의 좌표는 (0,0)이다. 그 아래쪽 칸들의 좌표는 순서대로 (1,0), (2,0), ...등이다. 좌표가 (i,0)인 칸의 오른쪽 칸들의 좌표는 순서대로 (i, 1), (i,2), ... 등이다. 애벌레들은 매일 에너지를 모아서 정오(낮 12시) 에 한번 자라는데, 여기에 걸리는 시간은 매우 짧아서 무시할 수 있다. 첫날 아침 모든 애벌레들의 크기는 1이고, 이러한 과정을 N일 동안 반복한다. 각 애벌레가 자라서 크기가 커지는 정도는 하루에 +0, +1, +2의 세 ..

Programming/Kotlin 2024.05.17

[알고리즘] 위상 정렬

[백준/Kotlin] 줄 세우기(2252)문제https://www.acmicpc.net/problem/2252 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사coding-ga-ding.tistory.com 위에서 풀이한 백준 문제를 풀 때 위상 정렬이라는 개념을 사용했는데, 어려워서 솔루션을 찾아 해결했었다. 위상 정렬에 대해 이해하고자 정리 해두려 한다! ✅ 위상 정렬이란?사이클이 없는 방향 그래프를 정렬한다고 생각하면 된다.방향 그래프를 방향성에 거스르지 않게 순서대로 나열하는 것위상 정렬 알고리즘을 이해하려면 진입차수, 진출차수를 알아야 한다.진입차수: 노드로 들어오는 간선의 개수진출차수: ..

Programming/etc. 2024.05.16

[프로그래머스/JavaScript] 귤 고르기(Lv.2)

문제https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다.예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면,..

[프로그래머스/JavaScript] 게임 맵 최단거리(Lv.2)

문제https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다.지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다.위 그림에서 검..

728x90