알고리즘/매일마다 풀기(백준)42 [2023-04-25] 2156 포도주 시식(Kotlin) 문제 링크: https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 오랜시간 고민을 했지만 결국 풀지 못했고, 또 다른 분의 코드를 참고하였습니다.. 참고 링크: https://hanyeop.tistory.com/287 package twentyfivethDay import java.io.* import java.util.* import kotlin.math.max fun main() = with(Scanner(System.`in`)){ val n = .. 2023. 4. 25. [2023-04-24] 14215 세 막대(Kotlin) + 2문제 문제 링크: https://www.acmicpc.net/problem/14215 14215번: 세 막대 첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다. www.acmicpc.net 작성 코드입니다. // a, b, c 중 가장 큰 값을 maxLine 변수에 저장. // 나머지 두 개의 선 길이의 합은 (a + b + c) - maxLine // 해당 계산 결과를 restTwoLines 변수에 저장. // 가장 긴 선의 길이보다 나머지 두 개의 선 길이의 합이 더 커야 하므로 // 아래와 같이 while문 조건 선언 // 반복문을 돌며 가장 긴 선의 길이를 1씩 빼준다. package twentyfourthDay import java.io.* fun main(){ val br = .. 2023. 4. 24. [2023-04-23] 10844 쉬운 계단 수 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 저 스스로 풀지 못했습니다. 다른 분의 풀이를 가지고 왔습니다. import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() var start = 1 for (index in 0 until n - 1){ start *= 10 } var end = 1 for (index in 0 until n){ end *= 10 } val dp = Array(n+1){ A.. 2023. 4. 23. [2023-04-22] 1463 1로 만들기(Kotlin) + 1문제 문제 링크: https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 드디어 dp 문제를 제 스스로 풀었습니다. 너무 행복합니다 ㅎㅎ. 작성 코드입니다. // 4를 1로 만드는 횟수의 최소, // 5를 1로 만드는 횟수의 최소... // 이렇게 생각을 해보니 1 부터 n까지 // 최소 횟수를 쌓아놓아야 겠다는 생각이 들었다. // dp[4] = 2, dp[5] = 3 .... // // 계산 가능한 경우의 수는 3으로 나누기, 2로 나누기, 1 빼기 이므로 // 각 연산을 진행하여 나온 수가 최솟값일 경우를 배열에 쭉 저장한다. // ex) 6 // dp[6 / 3].. 2023. 4. 23. [2023-04-21] 1149 RGB거리 (Kotlin) + 3문제 문제 링크: https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 이번에도 다른 분의 풀이를 참고했습니다. 풀이를 차근차근 읽어보며, DP 유형 문제의 접근법을 깨달을 수 있었습니다. 규칙을 찾아 점화식을 세워야 하며 배열을 생성하여 값을 누적시키는 구조로 접근을 해야 한다는 것입니다. 당연하다고 느낄 수 있지만, 저렇게 생각을 하고 접근을 하는 것과 안하는 것은 큰 차이가 있었습니다. 문제 풀이 입니다. import java... 2023. 4. 21. [2023-04-20] 1912 연속합 (Kotlin) 문제 링크: https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 첫 번째 시도입니다. package nineteenthDay import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() val list = br.readLine().split(' ').map{it.toInt()} val arr = Array(n){0}.. 2023. 4. 20. [2023-04-19] 13305 주유소(Kotlin) + 6문제 DP 유형 문제들을 풀어보고 있는데, 너무 어렵네요.. 문제 링크: https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 작성 코드 // ex) 5 2 4 1 // 이전 현재 // 반복문을 통해 하나의 요소씩 이동하며 // 만약 현재 위치의 가격이 이전 위치의 가격보다 크거나 같을 경우 이전 위치의 가격으로 계산 // 낮을 경우, 현재의 가격으로 계산 package nineteenthDay import java.io.* fun main.. 2023. 4. 19. [2023-04-18] 1463 영화 감독 숌(Kotlin) + 1문제 문제 링크: https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 두 문제 삽질을 하느라, 문제를 많이 풀지 못했습니다. 보통 문제를 푸는데 2시간이 넘어가면, 풀이를 보면서 공부하는 편인데, 이번에는 끝까지 풀어봐야 마음이 편안할 것 같습니다. 작성 코드입니다. // 666 -> 1666 ... 6661 -> 6662 .. // 처음엔 규칙을 찾아내려 애썼고, 포기함 // 그냥 처음 숫자인 666부터 숫자를 1씩 더해가며 // 666이 포함이 될.. 2023. 4. 18. 이전 1 2 3 4 5 6 다음