본문 바로가기
반응형

Problem Solving239

[BOJ][Python]2864 풀이 https://www.acmicpc.net/problem/2864 2864번: 5와 6의 차이 첫째 줄에 두 정수 A와 B가 주어진다. (1 2022. 12. 29.
[BOJ][Python]5585 풀이 https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net price = int(input()) change = 1000 - price ans = 0 coin = [500, 100, 50, 10, 5, 1] for i in coin: coin_num = change // i change -= i*coin_num ans += coin_num print(ans) 이번 문제는 그리디 알고리즘의 대표적인 문제 중 하나인 동전 갯수 문제입니다.. 2022. 12. 28.
[BOJ][Python]3578 풀이 https://www.acmicpc.net/problem/3578 3578번: Holes You may have seen a mechanic typewriter — such devices were widespread just 15 years ago, before computers replaced them. It is a very simple thing. You strike a key on the typewriter keyboard, the corresponding type bar rises, and the metallic letter mo www.acmicpc.net 이 문제는 입력숫자 h개 만큼의 구멍을 뚫기 위해 기입해야하는 숫자 중 가장 작은 숫자를 출력하는 문제입니다. 예를 들어서 뚫어야 하는 구.. 2022. 11. 22.
[BOJ][Python]11034 풀이 오랜만에 파이썬 풀이입니다. 그리디 연습이나 좀 할까 싶어서 난이도 낮은 것 부터 풀어보려구요. https://www.acmicpc.net/problem/11034 11034번: 캥거루 세마리2 여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100) www.acmicpc.net 사실 이 문제는 굳이 그리디를 사용하지 않아도 됩니다. 그래서 그리디를 사용하지 않는 풀이와 그리디를 사용하는 풀이를 둘 다 보여드릴까 해요. 먼저 단순 추론으로 풀 수 있습니다. 문제의 조건이 타이트하게 설정되어 있기 때문에 딱히 예외적인 상황이나 함정이 없죠. 집중해서 볼만한 조건은 '한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거.. 2022. 11. 15.
[BOJ][Kotlin]22193 풀이 https://www.acmicpc.net/problem/22193 22193번: Multiply Write a program that computes a product of two non-negative integers A and B. The integers are represented in decimal notation and have N and M digits, respectively. www.acmicpc.net 이번에는 최대 50000자리 수의 곱셈입니다. 당연히 python이라면 아무 문제없이 하던대로 하셔도 되구요. 코틀린이어도 사실 크게 차이는 없습니다만, 저는 편의성 때문에 Scanner를 많이 썼는데 이번엔 Scanner를 쓰니까 시간초과가 나서 BufferedReader를 사용해보았습.. 2022. 11. 14.
[BOJ][Kotlin]14928번 풀이 상당히 오랜만에 찾아뵙습니다. 몇 번 바쁘다고 글 쓰는 걸 미루니까 임시저장만 계속 늘어가고 게시를 못하고 있네요. 최근에는 여전히 진행 중인 부트캠프와 함께 코틀린 공부를 병행하고 있습니다. 사실 부트캠프의 커리큘럼과는 상관이 없는 부분인데, 로그인 시스템이 무조건 모바일 인증을 해야 하는 시스템이라 너무 귀찮아서 자동 로그인 매크로를 만들어 보려고 혼자서 이것저것 하다가 어차피 코틀린은 자바랑 아귀가 맞는 부분이 있으니까 까짓 거 코틀린 공부도 시작하자 하는 마음에 조금씩 하고 있습니다. 무슨 책이 좋은지, 어떤 강의가 좋은지 본격적으로 할 수 없는 입장이기도 하고 어차피 결국 프로그래밍은 직접 하는 것만이 성장에 영향을 미치기 때문에 코틀린으로 할 수 있는 무언가 들을 찾아서 하고 있습니다. 이번 .. 2022. 11. 14.
[BOJ][Python]11660번 풀이 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import sys ssr = sys.stdin.readline n,m = map(int, ssr().split()) num = [list(map(int, ssr().split())) for _ in range(n)] dp = [[0 for _ in range(n)] for _ in range(n)] for i in range(n): dp[i][0] = .. 2022. 7. 31.
[BOJ][Python]9465번 풀이 https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net import sys ssr = sys.stdin.readline t = int(ssr()) for _ in range(t): n = int(ssr()) sticker = [list(map(int, ssr().split())) for _ in range(2)] dp = [[0 for _ in range(n)] for _ in range(2)] dp[0][0], dp[1][0] = stic.. 2022. 7. 30.
[BOJ][Python]1991번 풀이 https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net from string import ascii_uppercase import sys ssr = sys.stdin.readline def preorder(v): global ans if visited[v] == 1: return visited[v] = 1 ans += str(v) for i in edges: if i[0] == v: for j in range(1,3): if i[j] != .. 2022. 7. 29.
[BOJ][Python]1932번 풀이 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net import sys ssr = sys.stdin.readline n = int(ssr()) t = [list(map(int, ssr().split())) for _ in range(n)] dp = [[0]*(i+1) for i in range(n)] dp[0][0] = t[0][0] for i in range(1,n): for j in range(i): dp[i][j] = max(dp[i-1][j]+t[i][j], dp[i][j]) dp[i][j+1] = dp[i-1].. 2022. 7. 28.
반응형