728x90

전체 글 279

03/07 간단한 계산기(2)

오늘은 간단한 계산기 프로그램 Lv4를 구현하고 정수만 받아왔던 Lv3과는 달리 실수도 같이 받아오도록 바꾸었다. 더보기 CalculatorMain.kt package com.example.week2_homework // 1. 종료까지 무한루프 기능 추가 // 2. 사용할 연산자, 숫자 받아오기 // 2-2 연산자 따라서 다른 오퍼레이션 불러오기 // 3. 예외처리 fun main() { println("이 프로그램은 두 수 사이에서 간단한 사칙연산을 실행하는 계산기입니다.") var calc: Calculator var num1: Number var num2: Number while (true) { println("아래 보기 중 사용할 기능의 번호를 입력하세요.") println("-1. 종료하기 \t..

개발 2024.03.07

03/07 알고리즘 공부(65) - 문자열 나누기

조건 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다. 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를 return 하는 함수 solution을 완성하세요. 제한조..

TIL/알고리즘 2024.03.07

03/06 간단한 계산기 프로그램(1)

오늘은 캠프에서 제공하는 강의를 듣고 내용을 활용해 콘솔에서 작동하는 간단한 계산기 하나를 만들었다. Lv1. Calculator Class를 만들고 클래스를 이용해 연산하기 더보기 CalculatorMain.kt package com.example.week2_homework fun main(){ println("이 프로그램은 두 정수 사이에서 간단한 사칙연산을 실행하는 계산기입니다.") var operator: String = "" while (true) { println("아래 보기 중 사용할 번호를 입력하세요.") println("1. 더하기") println("2. 빼기") println("3. 곱하기") println("4. 나누기") val input3 = readln() when(input3..

개발 2024.03.06

03/06 알고리즘 공부(64) - 체육복

조건 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성..

TIL/알고리즘 2024.03.06

03/05 TIL

1. 알고리즘 코드카타 63번을 해결했다.(https://lsm-android.tistory.com/144) 2. 어제 받은 피드백을 포함해 툴바 기능에 대한 트러블 슈팅을 작성했다.(https://lsm-android.tistory.com/145) 3. 캠프에서 제공하는 문법강의 1주차를 수강했다. 최근 코드카타 난이도가 꽤 올라가는 것 같다. 내일 시간 복잡도에 대해 정리할 필요가 있어 보인다. 내일 할 일 1. 알고리즘 코드카타 2. 시간 복잡도에 대해 공부 3. context, 스택, 생명 주기에 대해 정리 4. 2주차 강의 수강

TIL 2024.03.05

03/05 Toolbar 이동 기능 트러블 슈팅

저번 글에서 액티비티를 이동할 때 있었던 문제에 대해서 아주 짧게 이야기 했었는데 여기서 풀어보겠다. 처음 만들고 싶었던 기능은 Activity를 이동할 때마다 MainActivity를 제외한 모든 Activity를 종료하는 것이었다. 이러한 기능에 대해서는 finish()를 이용해 쉽게 구현할 수 있었는데 문제는 많은 액티비티가 추가되고 발생했다. 1. 문제의 발생(Activity 명에서 Activity생략) Level 3인 Add에서도 다른 Level 2로 이동할 수 있게 구현했는데 이때 Team이 꺼지지 않고 이동한 Activity에서 뒤로가기 버튼을 누르면 실행중인 Team이 나왔다. 2. 사실 확인 및 원인 분석 Add에서 뒤로가기 버튼을 눌렀을 때 Team이 나오도록 Team에서 Add로 가는..

03/05 알고리즘 공부(63) - 숫자 짝궁

조건 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는 5가 2개..

TIL/알고리즘 2024.03.05

03/04 TIL

1. 알고리즘 코드카타 62번을 해결했다.(https://lsm-android.tistory.com/139) 2. Regex 클래스에 대해 공부했다.(https://lsm-android.tistory.com/141) 3. 오늘로 첫 미니프로젝트인 Project II가 마무리 됐다. 피드백 수용단계이긴 하지만 아직 잘 모르는 부분이 많아 내일도 이어서 할 것 같다.(https://lsm-android.tistory.com/142, https://lsm-android.tistory.com/140) 오늘 발표에서 있었던 기술 피드백은 내 코드가 대부분이었다. 확실히 듣고나니 이걸 왜 이렇게 했지 하는 부분도 있고 피드백을 들어도 어떻게 해야할지 감도 안잡히는 부분이 있다. 피드백 중에서 context 관련한 ..

TIL 2024.03.04

02/28 ~ 03/04 Mini Project - Project II(Introduce I)

어제에 이어서 오늘도 프로젝트 기능구현을 했다. 오늘 내가 맡은 부분은 툴바의 메뉴 기능과 액티비티 이동기능이다. 툴바 기능은 오늘 처음 사용해봐서 다른 블로그를 많이 참고했다. 02/28 먼저 툴바를 처음 만들어보니 어떻게 만드는지 부터 찾아보았다. 툴바는 어느 액티비티로 넘어가도 있어야하니까 각 액티비티의 xml파일에 하나씩 지정하는 것이 아니라 레이아웃을 하나 따로 만들어서 그 레이아웃을 각 액티비티마다 불러와서 사용했다. 처음에는 뒤로가기 기능만 추가해 버튼을 누르면 아래와 같이 메인 액티비티를 열기만 하는 기능을 구현했다. returnBtn.setOnClickListener{ val intent = Intent(this, MainActivity::class.java) startActivity(i..

개발 2024.03.04
728x90
반응형