본문 바로가기

전체 글

(107)
백준 1051-숫자 정사각형(Kotlin) https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 문제 접근 문제 조건에 맞는 정사각형 중 크기가 최대인 정사각형의 크기를 구하는 문제 한 변의 최대길이에서 점점 내려가며 조건을 만족하면 최대값을 비교하는 식으로 구현 근데 풀기전에 다른사람 코드를 봐버림... 정답 코드 import java.util.* import kotlin.math.max import kotlin.math.min //꼭짓점의 값이 모두 같은 가장 큰 크기의 정사각형 찾기 f..
백준 2628 - 종이 자르기(Kotlin) https://www.acmicpc.net/problem/2628 2628번: 종이자르기 아래 과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선 www.acmicpc.net 문제 접근 종이를 배열로 표현해서 자른 부분을 1로 처리한 다음 연속되는 0의 최대값을 곱해주면 됨 -> 어차피 한줄 끝까지 자르니깐 이차원 배열이 아닌 가로세로 각각 일차원 배열로 선언해서 연속되는 0의 개수의 최대값을 구하면 될듯? 정답 코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System.`in`)) { val n = nextI..
안드로이드 4대 컴포넌트 안드로이드 4대 컴포넌트 안드로이드 4대 컴포넌트란 한마디로 안드로이드 앱을 구성하는 4개의 구성요소를 말한다. 4대 컴포넌트로는 Activity, Service, BroadCast Receiver, Content Provider가 있다. 컴포넌트는 각자 고유한 기능을 수행한다. 각 컴포넌트는 인텐트를 통해 상호작용한다. Activity Activity는 사용자에게 실제로 보이는 화면을 의미한다. 사용자와 상호작용해야하므로 앱에는 반드시 하나 이상의 Activity가 존재해야한다. lifecycle관련 메소드를 활용해 원하는 기능을 구현한다.(lifecycle관련은 다음에..) 1개 이상의 View 또는 ViewGroup을 포함한다. Fragment는 컴포넌트(구성요소)가 아닌가? Frangment는 한..
백준 2563 - 색종이(Kotlin) https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제 접근 좌표를 이차원 배열로 만들어 검은색 종이가 가리는 범위를 구하는 문제 검은색 범위가 가리는 부분을 1씩 증가시켜 전체 이차원배열중 0이 아닌부분의 개수를 구하는 식으로 해결함 정답 코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System.`in`)) { var n = nextInt() val arr = Array(101..
백준 1418 k-세준수(Kotlin) https://www.acmicpc.net/problem/1418 1418번: K-세준수 첫째 줄에 N, 둘째 줄에 K가 주어진다. N은 100,000보다 작거나 같은 자연수이고, K는 100보다 작거나 같은 자연수이다. www.acmicpc.net 문제 접근 n이하의 자연수 중에 소인수의 최대값이 k보다 작은 수가 몇개인지 구하는 문제 판별하는 수의 약수 중 소수의 최대값이 k보다 작으면 k-세준수로 판별 작성한 코드(시간초과) fun main(args: Array): Unit = with(Scanner(System.`in`)) { val n = nextInt() val k = nextInt() var ans = 0 for(i in 1..n){ var max = 0 //소인수 중 최대값 for (j i..
백준 1531 - 투명(Kotlin) https://www.acmicpc.net/problem/1531 1531번: 투명 첫째 줄에 N과 M이 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같다. M은 0보다 크거나 같고, 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 종이의 좌표가 주어진다. 왼쪽 아래 모서리의 x, y좌 www.acmicpc.net 문제 접근 이차원 배열에서 주어진 좌표에 해당하는 범위의 수를 수정할 수 있으면 바로 풀리는 문제 정답 코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System.`in`)) { val arr = Array(101) { IntArray(101) } val n = nextInt() val m = nextInt() //..
백준 1439번 - 뒤집기(Kotlin) https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 접근 연속되는 수를 뒤집어 전체를 0으로 만들거나 1로 만드는 경우의 수 중 시행횟수의 최소값을 구하는 문제 0과 1중 연속되는 수가 끊기는 구간이 더 적은 쪽을 택하여 몇번 끊기는지 세주면 됨 정답코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System.`in`)) { val str = next() var zero = ..
백준 1343 - 폴리오미노(Kotlin) https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 문제접근 X의 개수가 짝수면 A와 B로 표현가능한데 홀 수면 -1을 출력하는 문제라고 생각해서 구현하다가 그냥 XXXX는 AAAA, XX는 BB로 바꾸면 안되나 싶어서 replace를 활용하고, 만약 X가 홀 수여서 X가 남아있으면 -1을 출력하는식으로 구현했다. 정답코드 import java.util.* //XXXX -> AAAA //xx -> BB fun main(args: Array): Unit = with(Scanner(System.`in`)) { val input = readLine()!!...