728x90

전체 글 279

03/25 알고리즘 공부 - 프로그래머스 Lv.0(1)

1. 문자열 출력하기 더보기 fun main(args: Array) = println(readln()!!) 2. a와 b 출력하기 더보기 fun main(args: Array) { val (a, b) = readLine()!!.split(' ').map(String::toInt) println("a = $a") println("b = $b") } 3. 문자열 반복해서 출력하기 더보기 fun main(args: Array) { val input = readLine()!!.split(' ') val s1 = input[0] val a = input[1]!!.toInt() repeat(a){ print(s1) } } 4. 대소문자 바꿔서 출력하기 더보기 fun main(args: Array) { val s1 ..

TIL/알고리즘 2024.03.25

03/25 알고리즘 공부(77) - 이진 변환 반복하기

조건 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한조건 s의 길이는 1 이상 150,000 이하입니다. s에는 '1'이 최소 하나 이상 포함되어 있습니다. 입출력 예 s ..

TIL/알고리즘 2024.03.25

03/25 알고리즘 공부(76) - JadenCase 문자열 만들기

조건 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다. 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For ..

TIL/알고리즘 2024.03.25

03/22 알고리즘 공부(75) - 최댓값과 최솟값

조건 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 알고리즘 예상 Split을 이용해 쪼갠다. 정수로 바꿔서 오름차순으로 정렬한다. 가장 앞의 값과 가장 뒤의 값을 꺼내온다. string으로 바꾼 후 joinToString(" ")을 이용해 문자열로 ..

TIL/알고리즘 2024.03.22

03/21 TIL

1. 알고리즘 코드카타 74번을 해결했다.(https://lsm-android.tistory.com/185) 2. 개인과제 진행간에 있었던 이슈에 대해 트러블슈팅을 작성했다.(https://lsm-android.tistory.com/186) 3. 개인과제와 수준별과제 코드를 정리하고 수준별 과제를 제출했다. 알고리즘 풀이 해석이 쌓이고 있다. 알고리즘 공부를 딥하게 할 것인지 풀 수 있을 정도로만 할 것인지 정해야할 때가 다가오고있다.

TIL 2024.03.21

03/21 주특기 1주차 트러블 슈팅

Lv3 이후에 추가했던 기능인 액티비티를 호출할 때 5장의 이미지 파일 중에 랜덤한 이미지를 보여주는 기능을 만들 때 발생한 문제에 대해서 서술한다. 1. 문제의 발생 import android.os.Bundle import android.widget.Button import android.widget.ImageView import android.widget.TextView import androidx.appcompat.app.AppCompatActivity class HomeActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setConte..

03/21 알고리즘 공부(74) - 신고 결과 받기

조건 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉,..

TIL/알고리즘 2024.03.21

03/20 주특기 1주차 수준별 과제(1)

오늘은 수준별 반 수업의 첫날이었다. 수업 중에는 constraint layout, 컴포넌트의 테두리를 둥글게 만드는 방법 등을 배웠고 과제로 위 예시처럼 figma 등에 있는 레이아웃을 보고 각 wiget이나 image들을 SVG파일로 받아서 비슷한 형식으로 구현하는 것이 나왔다. 나는 각 page별로 레이아웃을 만들었는데 처음에 Button의 색상이 도저히 바꿔지질 않았다. 내가 backgroundTint를 이용하면 색이 바뀌긴 했으나 버튼의 모양이 망가졌다. 이유를 찾아보니 theme에 있는 material이라는 구글 제공 테마때문이라고 한다. 해결 방법은 해당 코드의 Material3를 Appcompat으로 바꿔주거나 Button이 아닌 AppcompatButton을 사용하거나 스타일을 만들어 지..

개발 2024.03.20
728x90
반응형