본문 바로가기

전체 글

(103)
Kotlin / 로또의 최고 순위와 최저 순위 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니..
Kotlin / 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자 영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven ..
Kotlin / 푸드 파이트 대회 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건..
Kotlin / 콜라츠 추측 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력..
Kotlin/ 알고리즘 스터디 새해맞이 코딩테스트 스터디 with erika https://blog.naver.com/hanerika_11/223321639319 2024 Kotlin 코테 스터디 운영, 규칙 새해 기념 코테 스터디를 하나 열었다. 코테 스터디는 처음인지라 최적점을 잘 몰라서...ㅎㅎ 아마 이 글은... blog.naver.com 1. 하루 2문제 프로그래머스 문제 풀기 2. 레벨 0~1 단계 -> 2,3단계 목표 3. 주 2회 온라인으로 만나서 회고하기 4. 깃헙, 블로그에 기록 남기기
android / 안드로이드 webview에서 window.popup() 띄우기 웹뷰에서 window.popup()으로 새 창을 띄우는 코드가 있었는데, 안드로이드 앱에서는 새 창이 안뜨는 현상이 발견됐다. window.popup() 으로 새 창이 뜨면, 안드로이드 내에서 dialog가 뜨게 하여 새로운 webview를 띄우는 방법으로 해결했다. popup이 뜨는 것을 감지하는 곳은 webChromClient의 onCreateWindow였다. <pre id="code..
Kotlin / 코루틴 처리 1. 코루틴 동시성 알아보기 코루틴은 코틀린에서 별도 패키지로 동시성 기능을 처리할 수 있도록 다양한 클래스와 함수를 지원한다. 서브루틴(subroutine) : 순수함수. 함수가 호출되면 결과를 반환한다. 순차적으로 처리할 때 사용한다. 코루틴(coroutine) : 함수이지만 상태를 관리하고 일시 중단했다가 다시 시작할 수 있는 일시중단 함수로 구성한다. 코루틴을 구성하는 규칙 코루틴은 코루틴이 실행되는 별도의 영역인 코루틴 스코프를 구성해야 한다. 이 코루틴 스코프에서 코루틴 빌더 함수와 일시중단 함수를 사용한다. 코루틴 기본 구성 1. 코루틴 패키지의 구성 요소 코루틴 스코프: GlobalScope, CoroutineScope는 코루틴 스코프를 구성해서 내부에 코루틴 빌더 함수로 코루틴 계층을 구..
Kotlin / 파일 입출력과 스레드 처리 1. 파일 I/O 처리 파일 처리는 Input과 Output에 대한 데이터 처리 -> 데이터가 계속 처리되어 흐르는 것과 같아서 스트림(Stream)이라고 한다. 바이트나 텍스트 단위로 처리해서 사람이 인식할 수 있게 만들어야 한다. - 버퍼(Buffer) : I/O 처리의 성능을 향상하기 위해 중간에 저장공간을 두고 처리하는 방식 가장 기본으로 파일을 읽고 쓰는 기반 : InputSteram, OutputStream => 이를 기반으로 바이트 단위로 처리하도록 지원 : ByteArrayInputStream, ByteArrayOutputStream 바이트 스트림은 기본적으로 데이터를 읽고 쓰는 것이다. - read 메서드로 바이트 단위 읽기 (순환하면서 모든 바이트 읽음) - write 메서드로 한 바이..

반응형