728x90

전체 글 279

03/15 알고리즘 공부(70) - 바탕화면 정리

조건 코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드는 그 문제에 가서 다시 볼 수 있기 때문에 저장해 둔 파일들을 전부 삭제하기로 했습니다. 컴퓨터 바탕화면은 각 칸이 정사각형인 격자판입니다. 이때 컴퓨터 바탕화면의 상태를 나타낸 문자열 배열 wallpaper가 주어집니다. 파일들은 바탕화면의 격자칸에 위치하고 바탕화면의 격자점들은 바탕화면의 가장 왼쪽 위를 (0, 0)으로 시작해 (세로 좌표, 가로 좌표)로 표현합니다. 빈칸은 ".", 파일이 있는 칸은 "#"의 값을 가집..

TIL/알고리즘 2024.03.15

03/14 TIL

1. 알고리즘 코드카타 69번 성격유형 검사하기를 해결했다.(https://lsm-android.tistory.com/167) 2. 과제에서 고민이었던 부분을 어느정도 알게 되었다.(https://lsm-android.tistory.com/168) 3. 주말에 공부했던 인텐트 플래그에 대해 정리했다.(https://lsm-android.tistory.com/169) 알고리즘을 풀 때마다 드는 생각이 있다. 특히 오늘 내 풀이와 최상위에 올라와있던 풀이의 차이가 많이난다. 어떤 방식으로 푸는게 맞는 지 모르겠다.

TIL 2024.03.14

03/14 Activity Intent Flag, Task

저번 주말에 공부했던 내용에 대해 작성한다. Activity Intent Flag? Activity Intent Flag는 액티비티의 중복문제나 흐름을 제어하고 싶을 때 사용한다. intent에 addFlags를 통해 추가하는 방법과 manifest파일에서 해당 액티비티에 launchMode를 추가하는 방법이 있다. Task? Task는 관련된 액티비티를 순서대로 묶어 관리하는 것이다. Stack 형태로 먼저 실행된 액티비티부터 아래에서부터 차곡차곡 쌓인다. 가장 아래에 있는 액티비티를 root Activity, 가장 위의 액티비티를 top Activity라고 부른다. 뒤로가기를 누르면 top Activity를 pop(종료)하고 그 밑의 액티비티가 top Activity가 된다. top Activity를..

TIL/공부 2024.03.14

03/14 간단한 키오스크 만들기

1. 문제의 발생 fun main(){ println(123) Thread.sleep(10000) while (true){ println(readln()) } } // 콘솔 123 // sleep 1 2 2 3 123 // sleep 끝 1 2 2 3 123 위와 같이 특정 동작 후 3초의 딜레이를 넣기 위해 Thread.sleep(3000)을 작성했다. 하지만 sleep으로 스레드가 비활성화 된 상태에서 입력한 값들이 readln에서 읽히는 문제가 발생했다. 2. 사실확인 및 원인 분석 여러 방면으로 찾아봤는데 원인은 readln이 Scanner 클래스라 Thread에 종속되지 않아서 발생하는 일이었다. 결국 thread를 sleep 시키더라도 콘솔에 입력됐다는 로그가 남아있어서 readln은 입력된 ..

03/14 알고리즘 공부(69) - 성격 유형 검사하기

조건 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호성격 유형 지표번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 매우 비동의 비동의 약간 비동의 모르겠음 약간 동의 동의 매우 동의 각 질문은 1가..

TIL/알고리즘 2024.03.14

03/12 간단한 키오스크 만들기(3)

오늘은 피드백을 반영해 기존 코드를 굉장히 많이 고쳤다. 더보기 Kioskmain.kt package com.example.week3_homework fun main() { val ordered = mutableListOf()// 주문한 메뉴의 정보가 있는 Order 클래스 val category = MainCategory() val billList = BillList(ordered) println("가진 돈을 입력하세요. 오류 발생 시 $ 100.0이 자동으로 입력됩니다.(소숫점 한자리까지)") var money = readln().toDoubleOrNull() ?: 100.0 println("Welcome to Just Pizzeria") // 외부 반복문 while (true) { // catego..

개발 2024.03.12

03/12 알고리즘 공부(68) - 햄버거 만들기

조건 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세 ..

TIL/알고리즘 2024.03.12
728x90
반응형