본문 바로가기
반응형

Programming104

[Python] 딕셔너리에서 제일 큰 value를 가진 key 찾기 간단하게 한 줄로 dictionary에서 가장 큰 value를 가진 key를 maxkey변수에 넣는 코드이다. maxkey = max(딕셔너리, key=딕셔너리.get) ex 만약 dic = { 'a' : 10, 'b' : 12, 'cv' : 11} 이라면 딕셔너리에서 가장 큰 값을 가지는 키는 'b'일 것이다. 2023. 4. 25.
[백준 / Python] 1297번 TV 크기 문제 https://www.acmicpc.net/problem/1297 1297번: TV 크기 김탑은 TV를 사러 인터넷 쇼핑몰에 들어갔다. 쇼핑을 하던 중에, TV의 크기는 그 TV의 대각선의 길이로 나타낸 다는 것을 알았다. 하지만, 김탑은 대각선의 길이가 같다고 해도, 실제 TV의 크기는 www.acmicpc.net 답안 d, h, w = map(int, input().split()) # w > h temp = d / ((h ** 2 + w ** 2) ** 0.5) H = int(h * temp) W = int(w * temp) print(H, W) 단순한 수학 상식으로 풀 수 있습니다. 2023. 4. 8.
[백준 / Python] 23843번 콘센트 https://www.acmicpc.net/problem/23843 23843번: 콘센트 광재는 전자기기 대여사업을 시작했다. 퇴근하기 전에 다음날 손님들에게 빌려줄 N개의 전자기기를 충전하려 한다. 사용 가능한 콘센트는 M개가 있고, 성능은 모두 동일하다. 전자기기들은 한 www.acmicpc.net 풀이 import sys import heapq # heapq.heappush(heap, item) : item을 heap에 추가 # heapq.heappop(heap) : heap에서 가장 작은 원소를 pop & 리턴. 비어 있는 경우 IndexError가 호출됨. # heapq.heapify(x) : 리스트 x를 즉각적으로 heap으로 변환함 N, M = map(int, input().split()) .. 2023. 3. 12.
[백준 / Python] 1780번 종이의 개수 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 풀이 n = int(input()) paper = [list(map(int, input().split())) for _ in range(n)] # print(paper) answer = [0, 0, 0] # -1 0 1 def cntPaper(x, y, m): cknum = paper[y][x] ck = True ########### m이 1이면 answer올리고 끝 if m == 1:.. 2023. 3. 1.
[백준 / Python] 10816번 숫자카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net n = int(input()) nlist = list(map(int, input().split())) m = int(input()) mlist = list(map(int, input().split())) dic = {} for i in nlist: if i in dic: dic[i] = dic[i] + 1 else: dic[i] = 1 for i in mli.. 2023. 2. 13.
[백준 / Python] 27277번 장기자랑 문제 즐거운 설날을 맞아 부대 장기자랑 행사가 개최된다! 이 행사는 한 번에 한 명씩 순서대로 공연하는 형식으로 진행된다. 장기자랑 행사의 총관리자는 공연하는 병사들의 장기자랑 실력을 토대로 행사를 준비하던 중, 아무래도 앞에 공연한 사람이 너무 잘하면 뒤에 공연하는 사람이 부담감을 느껴 본 실력을 발휘하지 못할 것이라는 고민을 하게 되었다. 이에 총관리자는 각 병사의 장기자랑 실력을 순서대로 $a_1, a_2, \cdots, a_n$이라고 할 때, $2\leq i\leq N$에 대하여 $i$번째 공연자는 실력을 $\max\left(0,a_i-a_{i-1}\right)$만큼만 발휘할 수 있을 것이라는 가설을 세웠다. 이때, 가장 먼저 공연하는 병사는 본인의 실력을 그대로 발휘할 수 있다. 위 가설에 따라.. 2023. 2. 5.
[백준 / Python] 1925번 삼각형 https://www.acmicpc.net/problem/1925 1925번: 삼각형 평면상에 세 개의 점이 주어지면, 그 세 점으로 이루어지는 삼각형은 유일하게 결정된다. 또는, 삼각형이 이루어지지 않기도 한다. 세 점의 좌표가 주어졌을 때 다음에 따라 이 삼각형의 종류를 www.acmicpc.net 예제1 입력 0 0 -3 -3 -3 0 출력 Jikkak2Triangle 예제2 입력 1 1 0 0 2 100 출력 DunkakTriangle 예제3 입력 10000 10000 2580 2580 -10000 -10000 출력 X a1, a2 = map(int, input().split()) b1, b2 = map(int, input().split()) c1, c2 = map(int, input().spli.. 2023. 2. 1.
[백준 / Python] 5615번 아파트 임대 문제 동규부동산에서 아파트를 임대하고 있다. 아파트의 방은 아래 그림과 같이 면적이 2xy + x + y이다. (x와 y는 양의 정수) 동규부동산의 카탈로그에는 아파트의 면적이 오름차순으로 적혀져 있지만, 이 중 일부는 있을 수 없는 크기의 아파트이다. 만약, 이런 크기의 아파트를 임대하겠다고 말하면, 동규는 꽝! 이라고 외치면서, 수수료만 떼어간다. 동규부동산의 카탈로그에 적힌 아파트의 면적이 주어졌을 때, 있을 수 없는 크기의 아파트의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 아파트의 면적의 수 N이 주어진다. 다음 줄부터 N개 줄에 카탈로그에 적혀있는 순서대로 면적이 주어진다. N은 100,000이하이고 면적은 231-1이하인 양의 정수이다. 출력 첫째 줄에 있을 수 없는 아파트 면적의 .. 2023. 1. 22.
[백준 / Python] 1780번 종이의 개수 문제 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (1)이 아닌 경우에는 종이를 같은 크기의 종이 9개로 자르고, 각각의 잘린 종이에 대해서 (1)의 과정을 반복한다. 이와 같이 종이를 잘랐을 때, -1로만 채워진 종이의 개수, 0으로만 채워진 종이의 개수, 1로만 채워진 종이의 개수를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 37, N은 3k 꼴)이 주어진다. 다음 N개의 줄에는 N개의 정수로 행렬이 주어진다 출력 첫째 줄에 -1로만 채워진 종이의 개수를, 둘째 줄에 0으로만 채.. 2023. 1. 15.
[백준 / Python] 16953번 A → B 백준 16953 [ A → B ] 문제 python 풀이 문제 정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다. 2를 곱한다. 1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자. 입력 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. 출력 A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다. 예제 입력 출력 2 162 5 4 42 -1 1000 40021 5 from collections import deque A, B = map(int, input().split()) # A를 B로만들기 # 1. 2를곱하거나 # 2. 숫자 뒷 자리에 1을 추가 (숫자 * 10 + 1) qu.. 2023. 1. 11.
728x90
반응형