일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 막무가내
- 안드로이드 sunflower
- 프로그래머스 알고리즘
- 부스트코스에이스
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 rxjava
- 막내의막무가내
- 막내의막무가내 목표 및 회고
- 막내의막무가내 안드로이드 코틀린
- flutter network call
- 2022년 6월 일상
- 막내의막무가내 코틀린
- 안드로이드 Sunflower 스터디
- 프래그먼트
- 주엽역 생활맥주
- 막내의막무가내 SQL
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 플러터
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 플러터 flutter
- 막내의막무가내 안드로이드
- 안드로이드
- 막내의 막무가내
- 부스트코스
- 막내의막무가내 프로그래밍
- 막내의 막무가내 알고리즘
- 주택가 잠실새내
- 막내의막무가내 알고리즘
- 막내의막무가내 일상
- Fragment
- Today
- Total
목록2020/05 (34)
막내의 막무가내 프로그래밍 & 일상
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 프로그래머스 LEVEL3 단어 변환 문제를 풀어봤습니다. bfs 를 사용해서 풀이했습니다. 한 단어는 한 글자만 변경이 가능한 경우 변경할 수 변환할 수 있습니다. (탐색 조건) 1. 큐에 시작 단어를 넣습니다. 2. 단어들을(words) 불러오고 이미 사용한 단어가 아닌 경우 현재 단어와 한글자씩 비교하고 변환이 가능..
https://github.com/mtjin/algorithm_practice/tree/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20-bfs%2Cdfs- https://programmers.co.kr/learn/courses/30/lessons/43162?language=kotlin 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr BFS 를 사용하여 처음 연결된 ..
보호되어 있는 글입니다.
가볍고 쉽게 읽고 이해할 수 있는 디자인패턴 설명 예시 사이트를 정리하는 포스팅입니다. 궁금할 때 볼 사이트 정리를 위해 포스팅합니다. 1. 빌더 패턴 ( Builder Pattern) 빌더 패턴(Builder pattern)이란 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다. [위키디피아 참고] [간단요약] 빌더 -> 생성자매개변수에 해당하는 값 set 받음 -> 빌드 (객체[생성자] 반환) ex) 객체 생성 시 너무 많은 매개변수가 있으면 순서도 햇갈리고 데이터가 없는 경우는 null 로 넘겨주고 아무토록 코드 유지보수 및 가독성이 안좋습니다. (순서 실수하기도 쉽고) (코드 유지보수의 예로는 매개변수 하나만 늘어도 코드를 바꿀..
데이터베이스의 특정 아이디값이 아니라 넣어져있는 순서 즉 행 순서대로나 역순대로 가져오고 싶을 때가 있습니다. 저도 ROOM 이라는 안드로이드 데이터베이스에 그냥 넣어져 있는 순서의 역순으로 가져오고 싶었는데 다음과 같은 해결방안을 봤고 처음 보는거라 포스팅합니다. SELECT * FROM favorite ORDER BY 1 ASC 이런식으로 1(첫번쨰 컬럼을 의미합니다) 로 하고 ORDER BY 로 해주면 됩니다. !! 시간 데이터나 자동증가 id 로 했다면 이 컬럼명을 기준으로 ORDER BY 를 해주면 되지만 아닌 경우는 이렇게 불러올 수 있었습니다 @Query("SELECT * FROM favorite ORDER BY 1 ASC") fun getNotices(): Single 댓글과 공감은 큰 힘..
[2021-04-13 업데이트] 위와 같은 프래그먼트 위에 띄워줄 다이얼로그 프래그먼트를 직접 만들어봤습니다. 자바로는 만든적이 꽤 많은데 코틀린으로는 처음이여서 간단하게 기록하는 포스팅을 해볼까 합니다. 자바했던것을 기반으로 구현한거라 최상의 방법은 아닐 수 있습니다. (구글링해보니 코틀린 다이얼로그 프래그먼트 한국 자료는 거의 안보이더라고요) 코드를 보면 이해가 가실겁니다!! 먼저 다이얼로그 프래그먼트 xml 입니다. 다이얼로그 프래그먼트 입니다. (Dialog Fragment) getInstance() 통해 다이얼로그를 액비티이 또는 프래그먼트에서 다이얼로그 프래그먼트 인스턴스를 가져옵니다. EXTRA_NOTICE_SAVE 는 원하는 태그 값을 넣어주면 됩니다. ( 추가로 번들에 전달된 값을 통해 ..
[2021-04-13 업데이트] 맨 밑 추가 업데이트 내용을 참고해주세요 :) Business의 스펠링이 틀려 Refactor 로 클래스 이름 오타를 수정했었습니다. 그런데 프래그먼트가 제대로 안뜨는 현상이 발생하였습니다. 이유는 bottom_nav_graph 의 android:name 이름은 그대로였기 때문 입니다. Refcator 가 이부분까지 변경해주지는 않나봅니다. 그래서 수동으로 바꿔줬습니다. 원인 찾는데 시간좀 걸렸네요;; 아니면 제 단순 실수일 수 도 있습니다. 업데이트 [2020-06-21] 다 Refactor 됩니다. 그러나 데이터바인딩 클래스이름은 안바뀝니다. 그래서 해당 데이터바인딩 클래스 이름은 직접바꿔줬습니다. 댓글과 공감은 큰 힘이 됩니다. 감사합니다!!
[2021-04-13 업데이트] 맨 밑 마지막 내용을 참고해주세요 :) 제목 그대로 빌드시 나는 에러입니다. 4시간째 삽질중인데 도저히 안고쳐집니다. 구글링하고 모든 방법을 다해봤지만 안됩니다. 뭐 때문에 나는지도 모르겠고요. stacktrace 에러를 다 보고 구글링했는데 딱히 해결법이 안나오는중.. 일단 기록으로 남깁니다. 도저히 해결이 안돼서 친구보고온 담에 다시 정신차리고 봤더니 @BindingAdapter("setItems") fun RecyclerView.setAdapterItems(items: List?) { with((adapter as BachelorAdapter)) { this.clear() items?.let { this.addItems(it) } } } [수정] @BindingAda..
https://programmers.co.kr/learn/courses/30/lessons/12913?language=java 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟�� programmers.co.kr 프로그래멋 LEVEL2의 땅따먹기 문제를 풀어봤습니다 ㅎㅎ dp 로 바로 접근하고 복잡한 문제가 아니라 빠르게 풀 수 있었습니다. 풀이는 다음과 같습니다. [Java] class Solution { int solution(int[][] land) { int answer = 0; for (int i = 1; i < ..
class BachelorNoticeRemoteDataSourceImpl : BachelorNoticeRemoteDataSource { override fun requestNotice(): Single { return Single.fromObservable( Observable.create { val bachNoticeList: ArrayList = ArrayList() val doc: Document = Jsoup.connect("https://computer.cnu.ac.kr/computer/notice/bachelor.do") .get() // Base Url val contentElements: Elements = doc.select("div[class=b-title-box]").select("a..
[2021-04-13 업데이트] https://jsoup.org/ jsoup Java HTML Parser, with the best of HTML5 DOM methods and CSS selectors. jsoup: Java HTML Parser jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG H jsoup.org 학교 공지사항 불러오는 앱을 ..
https://programmers.co.kr/learn/courses/30/lessons/42888?language=kotlin 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 프로그래머스 LEVEL2 문제 오픈채팅방을 풀어봤습니다. ㅎㅎ 문제 풀이법은 HashMap으로 풀어야겠다고 바로 생각나서 쉽게 접근할 수 있었습니다. 1. HashMap 으로 마지막으로 추가 혹은 변경된 이름을 저장하게 합니다. uid를 key로 이름을 value로 2. 출력 문장을 만들어 줍니다. Levae는 두 단어인거 주의 3...
다음과 같이 안드로이드 스튜디오에서 duplicate class intelij 어쩌구라면서 무수히 많은 에러가 떴습니다 해결방법은 다음과 같습니다. configurations { implementation.exclude group: 'org.jetbrains', module: 'annotations' } 를 app 수준 gradle에 android{} 안에 넣어주면 됩니다. 감사합니다
https://programmers.co.kr/learn/courses/30/lessons/42585?language=kotlin 코딩테스트 연습 - 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레� programmers.co.kr (a) 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '()'으로 표현합니다. 또한 모든 '()'는 반드시 레이저를 표현합니다. (b) 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현됩니다. 프로그래머스 LEVEL2 문제 쇠막대기를 풀어봤습니다. 간단히 설명하면 ( ) 는 레이저 나머지 ( ( ( , ) ..
https://programmers.co.kr/learn/courses/30/lessons/49994?language=java 코딩테스트 연습 - 방문 길이 programmers.co.kr 프로그래머스 LEVEL3 의 방문 길이 문제를 풀어봤습니다 ㅎㅎ 처음에 별생각없이 좌표를 칸으로 취급하고 바로 2차원 배열의 map, isVIsisted 하고 bfs queue 로 접근해서 풀었는데 한문제만 맞고 나머지 한문제는 틀리고 오답이 나왔었습니다. 바로 위와 같이 7번처럼 방문이 안되야하는데 된걸로 되서 잘못풀었단거를 꺠달았습니다. 그래서 어디서 어디로 왔는지 알아야했습니다. 이를 4차원 배열을 이용해서 풀었습니다. 1,2 차원 지점에서 3,4차원지점으로 이동했다는 것을 기록합니다. 문제 풀이방법이 더 간단해..