일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오르막수
- 최단경로
- 백준 퇴사
- Android
- dfs
- SWEA
- 백준 14501
- 2501
- Parcelable
- 프로그래머스
- BuildConfig
- 자바
- EditorInfo
- 조합
- imeOptions
- EditText
- Parcelize
- 순수함수
- 지능형 기차2
- Kotlin
- 약수 구하기
- 백준
- java
- 스카이라인 쉬운거
- 순열
- 완전탐색
- BFS
- val
- hilt
- 시뮬레이션
- Today
- Total
목록분류 전체보기 (95)
안드 공부를 해볼까?
1. 개요 프로젝트 같이하는 형이 Parcleable의 메소드를 전부 구현해둔 것을 보았다. 사실 저 메소드들이 정확이 뭘 하는지는 모르겠지만 간단하게 사용할 수 있는 방법이 있어서 사용해보도록 하자 2. 본문 다음과 같은 Parcelable 처리해준 data class가 있다고 하자. 분명 어노테이션으로 처리해줬는데 가끔 오류가 난다. 그럴때는 모듈단위 gradle에 들어가서 3개를 추가해준다. id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-parcelize' 필자는 kotlin-parcelize가 없어서 어노테이션을 해줘도 인터페이스에 있는 메소드를 전부 구현했어야 했다. 해당 코드를 추가하니 바로 인식이 됐다.
1. 문제분석 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 4변에 16진수가 적힌 보물상자가 있다. 변을 시계방향으로 한 칸 옮길 수 있고 이때 사각형에 각 변은 비밀번호가 된다. 주어진 K번째 큰 수를 10진수로 만들어 반환하는 문제다. 규칙을 보면 각 변을 스타트로 한다음 각변의 암호 개수(75E면 3개)만큼 돌아가면 다시 자기 자신이 돌아온다. 결국 답은 각 변의 암호개수만큼 돌리고 맨 마지막 수가 맨 처음으로 가면 된다. 2. 시행착오..
1. 문제분석 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5VwAr6APYDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 디저트 카페를 가는데 위와 같은 조건으로 사각형을 돈다. 단, 갔던 디저트 카페(번호가 같은)는 가지 않을때 최대한 많은 디저트 카페의 개수를 구하는 것이다. 경로를 기억해서 간다 -> 당연히 DFS로 풀 생각을 했고 경로를 하우 -> 하좌 -> 상좌 -> 상우 식으로 고정했다. 2. 시행착오 필자는 처음에 인덱스 오류가 난다 -> 방향을 바꿔야 한다 -> DFS 재귀 처리를 생각해냈..
1. 문제분석 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 7가지의 파이프 모양을 가진 관에 탈주범이 들어갔다. 1시간에 1칸씩 움직일수 있고 주어진 시간이 지났을 때 탈주범이 어디에 있는지 경우의 수를 구하는 문제다. 보자마자 문제에서 BFS하라고 나타내고 있다. 또한 시간마다 어떤 상태인지 알아보는 것이니 모든 큐를 빼고 넣는 방식으로 구현했다. 여기서 볼 점은 파이프를 어떻게 관리하는 하는지다. 필자는 파이프를 종류별로 switch를 했..
1. 개요 요즘 프로젝트를 하고 있는데 프레임워크의 사용법보다 아키텍쳐의 구조를 중점적으로 보고있습니다. Clean Architecture를 활용하는데 각 레이어마다 Model이 있는게 이상해서 같은 팀 선배에게 물어봤고 해답을 얻어 정리하고자 합니다. 왜 각 계층마다 Model이 있는지, 그냥 Data 레이어에서 받은 것을 사용하면 안되는지를 알아보고 이를 어떻게 활용하는지 보겠습ㄴ디ㅏ. 2. 차례 - 각 계층마다 Model을 사용해야할까? - 그렇다면 어떻게 사용하지? 필자가 프로젝트를 하며 느낀점을 위주로 작성했습니다. 굉장히 주관적(?)이니 틀린게 있으면 댓글을 남겨주세요. 3. 본문 1. 각 계층마다 Model을 써야하나? 사실 이게 제일 궁금했습니다. '어차피 우리는 서버에 있는 테이블 기준으..
1. 문제분석 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 수영장을 다니는데 1일, 한달, 세달, 1년의 요금제가 있다. 입력으로 수영장을 얼마나 이용하는지가 주어지고 주어진 요금제를 최소한으로 사용하는 방법을 구하는 문제다. 필자는 DFS와 DP가 떠올랐다. 항상 최선의 결과가 나올 수 없으니 모든 것을 다 탐색해야하기 때문이다. DP는 달마다 최선을 구하기 때문에 둘 중 고민하다가 DFS를 선택했다. 처음 구했던 방법은 DFS를 어떻게 접..
1. 문제분석 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV597vbqAH0DFAVl SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 방향이 있는 미생물이 움직이는데 가장자리에 닿는다면 방향이 바뀌고 미생물의 크기가 반으로 줄어든다. 필자는 처음에 미생물 클래스 배열을 만들어서 모든 움직임으로 관리할려고 했다. 이렇게 되니 swap도 해야하고 미생물을 움직이는 것도 이상해져서 다른 방법을 찾아보았다. 다음은 큐를 활용해서 한개를 꺼내서 2차원 객체 배열에서 상태를 관리할려고 했다. 하지만 모든 큐를 비교하지 못했고 ..
1. 문제분석 https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWKaG6_6AGQDFARV SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 출발점에서 도착점까지 수영해서 가는 것이다. 단 3가지 조건이 존재한다. 0: 움직이기 가능, 1: 장애물(접근 불가), 2: 소용돌이(2초 간격으로 움직이기 가능, 0초..1초..2초(가능)) 최단경로를 찾는 것이니 BFS를 사용했다. 다만 위와 같은 조건에서 최단거리를 뽑기위해 조건을 준비했다. 1. 거리를 3으로 나눈 나머지가 2라면 소용돌이 통과가능 2. 거리를 ..