2024/04 28

TIL (04.12)

CodeKata [프로그래머스_Kotlin] 괄호 회전하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 clas rlawog.tistory.com Android 오늘 알게된 내용 트러블 슈팅이라하기엔 내가 몰라서 발생한 내용이여서 간단히 정리하였다. 배경 Activity위에 2개의 Fragment를 띄워 사용 중 발생 문제 MainFragment에서 작성한 기기의 뒤로가기 버튼을 누르면 AlertDialog로 정말로 종료할건지 뜨게 만들었는데 DetailFragment에서도 적용이 되었다. (당연히 DetailFragment에 AlertDialog..

Kotlin/TIL 2024.04.12

[프로그래머스_Kotlin] 괄호 회전하기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 class Solution { fun solution(s: String): Int { var anwer = 0 for (i in 0 until s.length) { //순환 val sList = s.substring(i) + s.substring(0, i) // 여는 괄호 시 sCheck에 추가 val sCheck = mutableListOf() var isValid = true for (c in sList) { when (c) { '(', '[', '{' -> sCheck.add(c) ')' -> if..

프로그래머스 2024.04.12

TIL (04.11)

CodeKata [프로그래머스_Kotlin] 귤 고르기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 경 rlawog.tistory.com Android 1. AlertDialog 사용자들이 이용하기 쉽게 팝업 형식의 다이얼로그이다. 전부 Fragment를 사용하였다. 기본적인 확인/취소 Dialog 더보기 private fun dialogBase(){ val alertDialog = AlertDialog.Builder(requireContext()) .setTitle("권한") .setMessage("권한을 허용하시겠습니까?") .setPositi..

카테고리 없음 2024.04.11

[프로그래머스_Kotlin] 귤 고르기

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

프로그래머스 2024.04.11

TIL (04.09)

Kotlin 직렬화 ? 직렬화(serialization)는 객체나 데이터 구조를 일련의 바이트로 변환하는 프로세스를 말한다. 이렇게 직렬화된 데이터는 파일에 저장하거나 네트워크를 통해 전송할 수 있다. 장점 1. 데이터 영속화 프로그램이 종료되거나 재시작되어도 데이터를 보존해야 하는 경우가 많다. 이런 경우 데이터를 파일이나 데이터베이스에 저장할 필요가 있다. 데이터를 직렬화하면 데이터 구조를 파일로 저장할 수 있다. 그리고 프로그램이 재실행되거나 다시 시작될 때 이 파일에서 데이터를 읽어와서 객체를 다시 만들 수 있다. 2. 네트워크 통신 서로 다른 시스템 간에 데이터를 주고받아야 할 때도 직렬화가 필요하다. 네트워크를 통해 데이터를 전송하려면 데이터를 바이트 스트림으로 변환해야 한다. 직렬화 된 데이..

Kotlin/TIL 2024.04.09

TIL (04.08)

CodeKata [프로그래머스_Kotlin] 멀리 뛰기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 효 rlawog.tistory.com 팀 프로젝트 끝 피드백 - ListView를 프로젝트 제작 전에 구상해서 사용했으면 좋겠다는 피드백이 있었다. 이번 프로젝트에 제한으로 배우지 않은 기술은 쓰지 말 것. 이라 되어있지만 팀원 모두가 이해하고 사용할 수 있다면 사용해도 괜찮다는 조건이 걸려있었다. -> 먼저 하드 코딩으로 진행했다가 너무 코드가 길어지고 지저분하다 생각이 들어서 ListView를 이해시켜 드리면 사용해도 괜찮지 않을까 해서 진행한 ..

Kotlin/TIL 2024.04.08

[프로그래머스_Kotlin] 멀리 뛰기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, ..

프로그래머스 2024.04.08

TIL (04.05)

CodeKata [프로그래머스_Kotlin] N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 두 rlawog.tistory.com 팀 프로젝트 1. Serializable vs Parcelable 객체를 다른 Activity로 전달하기 위해 직렬화, 역직렬화 작업을 간단히 사용하게 할 수 있어서 사용했다. Serializable 설명 더보기 Serializable은 Java에서 제공하는 표준 인터페이스이다. Serializable을 구현한 클래스는 직렬화 대상이 된다. 장점 사용하기 편하다. 따로 구현할 코드가 없다. 단점 Refle..

Kotlin/TIL 2024.04.05

[프로그래머스_Kotlin] N개의 최소공배수

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다...

프로그래머스 2024.04.05

TIL (04.04)

CodeKata [프로그래머스_Kotlin] 예상 대진표 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 △ rlawog.tistory.com 알게된 내용 2진 트리 구조를 풀 때 2가지 방법으로 풀 수 있다. 1. 트리를 재귀적으로 실행하면서 횟수를 구하는 방법 2. 비트연산을 활용해서 바로 횟수를 구하는 방법 여기서 다른 사람의 풀이를 보고 비트연산으로도 풀 수 있다는 것을 알았다. 팀 프로젝트 1. getSerializableExtra LobbyActivity의 데이터를 postActivity에서 받을 때 intent.getSerializable..

Kotlin/TIL 2024.04.04