[문제] https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net [풀이] 투 포인터를 이용하면 쉽게 풀 수 있는 문제이다. 문제를 푸는 방법은 아래와 같다. 1. 조건 N의 범위가 (1 ≤ N ≤ 4,000,000) 이므로, (1 ≤ N ≤ 4,000,000) 사이의 소수를 미리 모두 구한다. 2. 연속된 소수의 합이므로, 연속된 소수의 합을 미리 구하여 배열에 저장을 해둔다. 3. 투 포인터를 이용하여, 풀어준다. 1번 과정은 에라토스테네스의 체를 이용하여 해결한다. prime = MutableList(MAX){true} prime[1] = false prime[0] ..
[문제] https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net [풀이] 문제의 조건은 다음과 같다. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 결국 i번째는 i-1째 집의 색과 같지 않으면 된다. 예를 들어 i번째 색상이 빨강이라면, i -1번째는 파랑 또는 초록이 와야 한다...
[문제] https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종 www.acmicpc.net 주의 : 코틀린으로 풀 때, 베이스를 배열에 저장해놓고 풀게 되면, 시간초과가 발생합니다. [풀이] - 문제 설명 문제를 이해를 잘못해서 한 번 삽질하고, 시간초과 때문에 두 번 고생한 문제이다. 간단하게 요약을 하면, 입력값 N은 이닝 수 이다. 이닝 수는 야구로 생각하면 1회초, 1회말의 그 1회를 의미한다. 입력으로 들어온 이닝 수 만큼 경기를 진행했을 때, 얻을 수 있는 최고점을 기록하..
1장에 이어서, 2장에서는 play console의 리더보드를 이용해서, 랭킹 시스템을 구현하도록 하겠습니다!. 1. google play console 텝에서 애플리케이션 등록 리더보드를 사용하기 위해서는 google play console에 어플레케이션을 등록해야합니다. 2. 리더보드 생성 play console 창에서 리더보드를 생성해줍니다. 3. 코드 구현부 가장 먼저 googleSignIn 기능입니다 private fun googleSignIn() { val signInIntent = GoogleSignIn.getClient( this, GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build() ).signInIn..
유행은 지났지만 https://simritest.com/reaction/start 반응속도 테스트 시작 반응속도 테스트 시작, 반응속도 게임 시작, 반응속도 검사, 동체시력 테스트, 동체시력 검사, 동체시력 게임 테스트 시작 simritest.com 다음과 같은 반응속도 테스트 게임을 스마트폰 앱 버전으로 만들어보기로 했다. 위의 이미지와 같은 게임이다. 게임의 과정은 다음과 같다. 1. 시작하려면 화면을 클릭한다. 2. 화면이 초록색으로 바뀌면 빠르게 누른다. 위의 두개의 과정으로 매우 간단한 게임이다. 그런데 고려해야할 점이 있다. 사용자가 만약에 초록색으로 바뀌기 전에 광클을 한다면? 계속 누르고 있다면, 매우 빠른 반응 속도가 나와 측정에 의미가 없는 것이다. 해결하기 위해 만약 게임을 시작하고,..
이번 포스팅은 레이아웃 관련 포스팅 입니다. 먼저 간단하게 텍스트 두개를 화면에 보이도록 작성해 보겠습니다. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { } } } data class UserInform(val name : String, val ege : Int) @Composable fun HelloWorld(userInform : UserInform){ Text(userInform.name) Text(userInform.ege.toString()) } @Preview @Composable f..