일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오르막수
- 프로그래머스
- Kotlin
- 2501
- java
- 최단경로
- 자바
- SWEA
- 백준
- 조합
- 백준 14501
- BFS
- 스카이라인 쉬운거
- 시뮬레이션
- 약수 구하기
- 지능형 기차2
- Parcelize
- Android
- 백준 퇴사
- 완전탐색
- imeOptions
- 순수함수
- 순열
- BuildConfig
- EditorInfo
- dfs
- hilt
- Parcelable
- val
- EditText
- Today
- Total
목록분류 전체보기 (95)
안드 공부를 해볼까?
1. 부트캠프 아프리카 TV 면접을 본 뒤 안드로이드를 나름 잘해왔다고 생각했지만 아직 멀었다는 생각이 들었다. 책으로도 문제를 풀어보고 천천히 구현해갔지만 이게 맞나..? 라는 생각이 들어 인터넷 강의를 찾고있었다. 그 때 눈에보인건 라이징 캠프. 코틀린으로 안드로이드를 알려주며 6주간의 교육과 2주간의 테스트로 이루어진 부트캠프였다. 나는 안드로이드 기본 지식이 아닌 좀 더 응용된 부분과 코틀린을 알아보고 싶었다. 예를 들면 RxJava나 Coroutine, Koin과 Hilt같은 실무에서 주로 사용되고 좋은 품질의 코드를 위해 사용되는 기술. 그래도 나보다 더 잘하는 사람에게 배우면 좋겠지..? 라는 생각으로 라이징 캠프를 신청하게 된다. 2. 첫 수업 후 나의 생각은? 많은 수료혜택이 있어 열심히..
1. 문제파악 처음으로 풀어보는 DP 문제다. DP는 일정한 규칙을 찾아 점화식을 구하고 문제를 해결하는 방식이라고 들었다. 먼저 무작정 규칙을 찾아볼려고 했지만 전혀 다르게 나왔다. 5로 규칙을 찾았다해도 2로 하면 그새 변하는 식... 그래서 결국 이번엔 인터넷의 힘을 빌렸다 ㅠㅠㅠ.. 이 문제는 점화식을 구하는 것 처럼 1부터 규칙을 찾는 문제가 아니다. 5가 1번 쓰일 때 경우의 수, 5가 2번 쓰일 때 경우의 수, ...., 5가 7번까지 쓰이는 경우까지 찾고 number의 경우의 수를 찾는 문제다. 솔직히.. 이게 왜 DP문제인지는 모르겠다.. 근데 DP라고 하니깐 일단 위와같이 풀이해보자. 2. 구현 import java.util.*; class Solution { public int sol..
1. 회고...? 사실 회고를 한번도 해본적이 없다. 그냥 인생이 뭐 있나~ 흘러가는대로 사는거지~ 라는 생각으로 살아왔는데 아는 지인이 회고를 쓴게 너무 좋다고 생각했다. 내가 뭘 했는지 볼 수 있고 목표도 정할 수 있다는 생각에 호다닥 써볼려고 한다. 2. 졸업 후 뭐했지..? 정말 지금까지 내가 어떤 목표를 위해 무엇을 했는지 감이 안잡힌다. 그냥 무난한 학점 받으면서 생활하면서 매일 술먹고 놀고 자고... 진짜 맘편하게 살았다. 핑계아닌 핑계라면 먼저 졸업하고 취업 성공한 친구들이 항상 하는 말. "진짜 반복문도 못쓰는 사람도 취업하니깐 걱정하지좀 마라." 뭔가 애매모호 했다. 아니 저정도 실력도 취업하는데 내가 못하겠냐 ㅋㅋㅋㅋ라는 생각. 그래도 높은 연봉 받으면서 떳떳하게 살아가야지! 라는 생..
1. 문제 파악 i부터 j까지 배열을 자르고 정렬한 후 k번째 숫자를 구하는 문제다. 문제에서 알려준대로 한다면 어려운 부분은 없다. 2. 구현 import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i = 0; i
1. 문제 파악 기존 우선순위 큐에서 최댓값까지 구해야하는 문제다. 다른 언어는 모르겠지만 Java에서는 Comparator.reverseOrder()를 통해 역으로 정렬이 가능하다. 그래서 나는 우선순위 큐를 2개 사용해서 값을 구했다. 2. 구현 import java.util.*; class Solution { public int[] solution(String[] operations) { int[] answer = {0,0}; PriorityQueue maxQueue = new PriorityQueue(Comparator.reverseOrder()); PriorityQueue minQueue = new PriorityQueue(); for(String operation : operations){ S..
1. 문제 파악 하드디스크는 한 번에 하나의 작업만 수행할 수 있다. 이를 구현하는 문제가 된다. 2차원 배열은 [작업이 요청되는 시점, 작업의 소요시간]으로 구분이 된다고 한다. 그렇다면 작업을 요청한 순서대로 처리한다면 어떻게 될까? o 일때만 작업을 처리하는 것이다. 나머지는 대기시간이고 평균 시간을 구하면 (3+11+16) / 3 = 10이 나온다. 반면 작업의 소요시간 순으로 처리한다면 어떻게 될까? 평균시간을 구하면 (3+7+17) / 3 = 9가 나온다. 즉, 작업의 소요시간대로 처리하면 된다. 작업의 소요시간을 기준으로 오름차순 정렬하고 하나씩 꺼내 쓰면 된다. 하지만 작업 중인데 그때 요청되는 경우도 존재한다. 그러므로 작업을 요청한 순서도 정렬을 해야한다. 그래야 총 소요시간을 구할 수..
1. 문제 파악 Leo가 모든 음식의 스코빌 지수를 K 이상 만들고 싶다고 한다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) 즉, 가장 작은 2개의 숫자를 가져와 위의 공식에 넣어주면 된다. 구현 방식은 많겠지만 나는 우선순위 큐를 사용해서 배열의 모든 원소들을 넣어주고 위의 공식을 사용했다. 2. 구현 import java.util.*; class Solution { public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue p = new PriorityQueue(); //스코빌 데이터 넣어주기 for(int scovilleData : scoville)..