Uknow's Lab.
article thumbnail
[백준 1380번] [Kotlin] 귀걸이
코딩테스트/Kotlin 2023. 4. 16. 13:53

https://www.acmicpc.net/problem/1380 1380번: 귀걸이 입력은 번호를 가진 시나리오들로 구성됩니다. 시나리오 번호는 1부터 순서대로 증가하고, 각 시나리오는 아래의 내용을 포함합니다. 한 줄에 귀걸이를 압수당한 여학생의 수, n (1 ≤ n ≤ 100)이 www.acmicpc.net 난이도 : 실버 5 태그 : 구현, 문자열 설명 학생의 이름이 두 번 나오면 귀걸이를 돌려 받은 것이고, 한 번만 나온다면 귀걸이를 압수당하고 돌려받지 못한 것입니다. 저는 Student라는 클래스를 하나 만들어 학생의 이름과 이름을 불린 횟수를 체크하였습니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader data cl..

article thumbnail
[백준 1613] [Kotlin] 역사
코딩테스트/Kotlin 2023. 4. 3. 21:28

https://www.acmicpc.net/problem/1613 1613번: 역사 첫째 줄에 첫 줄에 사건의 개수 n(400 이하의 자연수)과 알고 있는 사건의 전후 관계의 개수 k(50,000 이하의 자연수)가 주어진다. 다음 k줄에는 전후 관계를 알고 있는 두 사건의 번호가 주어진다. www.acmicpc.net 난이도 : 골드 3 태그 : 그래프 이론, 플로이드-워셜 설명 플로이드 워셜 알고리즘을 응용하여 풀 수 있을 것 같습니다. 플로이드 워셜 알고리즘을 잘 모르겠다면, 아래 포스팅을 참고해주세요. https://uknowblog.tistory.com/39 [백준 11404번][Kotlin] 플로이드 https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째..

article thumbnail
[백준 2294번] [Kotlin] 동전 2
코딩테스트/Kotlin 2023. 4. 1. 12:38

https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 난이도 : 골드 5 태그 : 다이나믹 프로그래밍 설명 동전의 개수를 최소로 하는 문제입니다. 같은 단위의 동전이 여러개 주어질 수 있으므로 중복제거를 해야 합니다. dp의 각 원소는 각 동전을 만들기 위한 최소의 동전 개수입니다. 0원을 만들기 위한 동전의 개수는 0개이므로, dp[0] = 0으로 초기화합니다. 1, 5, 12원 동전을 사용해 15원을 만들어야 합니다..

article thumbnail
[백준 10102번] [Kotlin] 개표
코딩테스트/Kotlin 2023. 3. 31. 21:38

https://www.acmicpc.net/problem/10102 10102번: 개표 입력은 총 두 줄로 이루어져 있다. 첫째 줄에는 심사위원의 수 V (1 ≤ V ≤ 15)가 주어지고, 둘째 줄에는 각 심사위원이 누구에게 투표했는지가 주어진다. A와 B는 각각 그 참가자를 나타낸다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 문자열 설명 A와 B가 같으면 Tie, 같지 않다면 더 많이 나온 쪽을 출력하는 문제입니다. 소스코드 fun main() { readln() val line = readln() val a = line.count { it == 'A' } val b = line.count { it == 'B' } println(if (a > b) 'A' else if (a < b) ..

article thumbnail
[백준 2557번] [Kotlin] Hello World
코딩테스트/Kotlin 2023. 3. 31. 21:21

https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 난이도 : 브론즈 5 태그 : 구현 설명 Hello World를 출력하는 프로그래밍의 기본 문제입니다. 소스코드 fun main() { println("Hello World!") } 후기 옛날에 풀었던 문제들을 포스팅하고 있습니다. Hello World. 새 언어를 배울 때 마다 풀었던 문제였는데, C++, Python, Java, Kotlin 등 여러 언어로 풀었던 흔적들이 보이네요. 다음엔 엄랭으로 풀어보고 싶습니다.

article thumbnail
[백준 2023번] [Kotlin] 신기한 소수
코딩테스트/Kotlin 2023. 3. 31. 20:48

https://www.acmicpc.net/problem/2023 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 난이도 : 골드 5 태그 : 수학, 정수론, 백트래킹, 소수 판정 설명 백트래킹 + 소수판정 문제입니다. 백트래킹으로 수열을 구한 뒤, 수열을 숫자로 바꿔 해당 숫자가 소수인지 판단하였습니다. 소스코드 시간초과 var n = -1 lateinit var nums: Array val sb = StringBuilder() fun main() { n = readln().toInt() nums..

article thumbnail
[백준 2581번] [Python] 소수
코딩테스트/Python 2023. 3. 30. 23:39

https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 난이도 : 실버 5 태그 : 수학, 정수론, 소수 판정 설명 소수는 자기 자신과 1로만 나뉘는 수 입니다. 따라서 2 부터 자기 자신까지 나뉘눈 수가 있는지 판단하면 됩니다. 소스코드 a = int(input()) b = int(input()) lst = list() for i in range(a, b+1): lst.append(i) for i in range(len(lst)): check = False n..

article thumbnail
[백준 11720번] [Python] 숫자의 합
코딩테스트/Python 2023. 3. 30. 23:33

https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 난이도 : 브론즈 4 태그 : 수학, 구현, 문자열 설명 C나 Java에서 구현하려면 조금 번거롭지만, 파이썬은 매우 큰 수도 간편하게 다룰 수 있어 파이썬에서는 꽤나 간단하게 풀리는 문제입니다. 소스코드 int(input()) num = list(map(int,input())) print(sum(num))

article thumbnail
[안드로이드] 버튼 색상 혹은 drawable이 적용되지 않는 현상
프레임워크/Android 2023. 3. 29. 22:01

안드로이드를 시작할 때 많은 사람들이 한 번 겪는 버튼에 색깔이나 drawable이 적용되지 않는 증상이죠. 백그라운드 속성을 지정해줬으나, 안드로이드 기본 테마 특유의 그 보라색이죠. 여기엔 두 가지 해결방법이 있습니다. AppCompatButton 사용 Button을 androidx.appcompat.widget.AppCompatButton 으로 지정해주면 background 속성이 잘 적용됩니다. Theme 변경 혹은 themes를 AppCompat으로 변경하면 됩니다. 왜 적용이 안되지? 기본 버튼이 듣질 않는 이유는 안드로이드 프로젝트를 만들었을 때, 기본적으로 MaterialComponents 테마로 적용되있기 때문입니다. MaterialComponents의 버튼은 자체적으로 backgroun..

article thumbnail
[백준 15351번] [Kotlin] 인생 점수
코딩테스트/Kotlin 2023. 3. 29. 21:18

https://www.acmicpc.net/problem/15351 15351번: 인생 점수 어떤 사람이 무엇을 즐기느냐에 따라 그 사람의 인생 점수를 측정할 수 있다. A를 1점, B를 2점, ... , Z를 26점으로 해, 즐기는 것의 이름의 알파벳 점수를 모두 더하면 된다. 예를 들어, "OTAKU LIFE" 는 www.acmicpc.net 난이도 : 브론즈 2 태그 : 구현, 문자열 설명 문자열이 알파벳의 몇 번째 글자인지가 점수가 됩니다. 문자열의 모든 점수를 더하여 100점이면 PERFECT LIFE, 아니라면 점수를 출력하는 문제입니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader fun main() { val br..