Python 490

[파이썬/python] 백준 26082번 WARBOY

문제 Furiosa AI에서는 AI 연산에 최적화된 반도체인 WARBOY란 이름의 NPU(Neural Processing Unit)를 만들고 있다. NPU는 인공지능 모델의 학습 및 추론을 기존의 처리 유닛보다 훨씬 빠르게 할 수 있다. WARBOY는 글로벌 AI 반도체 벤치마크 대회의 이미지 분류, 객체 검출 처리 속도 면에서 가장 좋은 성적을 받았다. 특히, WARBOY는 가격 대비 성능이 경쟁사 제품의 3배나 되어 많은 관심을 끌었다. 가격 대비 성능은 아래와 같은 수식으로 계산된다. 가격대비성능성능가격가격 대비 성능=성능가격\[ \text{가격 대비 성능} = \frac{\text{성능}}{\text{가격}} \] 경쟁사 제품의 가격 A, 경쟁사 제품의 성능 B, WARBOY의 가격 C가 주어질 ..

[파이썬/python] 백준 26068번 치킨댄스를 추는 곰곰이를 본 임스 2

문제 마음씨 착한 곰곰이는 임스에게 치킨 기프티콘을 여러 번 선물했다. 기프티콘이 있다는 사실을 잊고 있던 임스는 치킨 댄스를 추는 곰곰이를 보고 그 사실이 생각났다. 치킨 기프티콘을 선물받은 횟수 N$N$과 선물의 남은 유효기간이 주어질 때, 임스가 사용할 기프티콘의 개수를 구하시오. 임스는 기프티콘을 아껴 사용하기 위해 유효기간이 90일 이하로 남은 기프티콘만 사용할 것이다. 입력 첫 번째 줄에는 임스가 받은 기프티콘의 개수 정수 N이 주어진다. (1≤N≤1000$1 \le N \le 1\,000$) 두 번째 줄부터 N개의 줄에 걸쳐 i$i$번째 기프티콘의 남은 유효기간 xi$x_i$가 D-xi 와 같은 형식으로 주어진다. (1≤xi≤365$1 \le x_i \le 365$) ex) 3 D-86 D-..

[파이썬/python] 백준 23971번 ZOAC 4

문제 2021년 12월, 네 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 오프라인 대회를 대비하여 강의실을 예약하려고 한다. 강의실에서 대회를 치르려면 거리두기 수칙을 지켜야 한다! 한 명씩 앉을 수 있는 테이블이 행마다 W개씩 H행에 걸쳐 있을 때, 모든 참가자는 세로로 N칸 또는 가로로 M칸 이상 비우고 앉아야 한다. 즉, 다른 모든 참가자와 세로줄 번호의 차가 N보다 크거나 가로줄 번호의 차가 M보다 큰 곳에만 앉을 수 있다. 논문과 과제에 시달리는 성우를 위해 강의실이 거리두기 수칙을 지키면서 최대 몇 명을 수용할 수 있는지 구해보자. 입력 H, W, N, M이 공백으로 구분되어 주어진다. (0

[파이썬/python] 백준 13118번 뉴턴과 사과

문제 사과가 떨어지기를 기다리는 사람들. 그림과 같이 네 명의 사람이 사과가 떨어지기를 기다리고 있다. 모든 사람은 x축 위의 한 점에 가만히 서 있으며, 여러 사람이 같은 점에 서 있는 경우는 없다. i번 (1 ≤ i ≤ 4) 사람은 점 (pi, 0) 위에 있다고 하자. 거대한 좌표평면에 비해 사람은 작은 존재이므로, 편의상 각 사람의 크기는 무시하자. x축 위에서 기다리는 사람들. 사과는 좌표평면 위의 한 점 (x, y)를 중심으로 하는 반지름이 r인 원이며, 현재 공중에 가만히 떠 있으므로 모든 점이 x축의 위쪽(즉 y > 0인 영역)에 있다. x축 위에 떠 있는 사과. 사과에는 −y축 방향의 중력만이 작용한다. 중력의 크기는 일정하므로, 사과는 지표면(x축)을 향해 등가속도 운동을 하다가, x축과..

[파이썬/python] 백준 14487번 욱제는 효도쟁이야!!

문제 욱제는 KOI를 망친 기념으로 부모님과 함께 코드게이트 섬으로 여행을 떠났다. 코드게이트 섬에는 오징어로 유명한 준오마을(심술쟁이 해커 임준오 아님), 밥으로 유명한 재훈마을, 영중마을 등 많은 관광지들이 있다. 욱제는 부모님을 모시고 코드게이트 섬을 관광하려고 한다. 코드게이트 섬은 해안가를 따라 원형으로 마을들이 위치해있다. 임의의 A마을에서 임의의 B마을로 가기 위해서는 왼쪽 또는 오른쪽 도로를 통해 해안가를 따라 섬을 돌아야 한다. 섬을 빙빙 도는 원형의 길 외에 다른 길은 존재하지 않는다. 각 마을에서 마을까지의 이동비용이 주어질 때, 욱제가 최소한의 이동비용으로 부모님을 모시고 섬의 모든 마을을 관광하려면 얼마의 이동비용을 준비해야하는지 알려주자. 입력 첫째 줄에 마을의 수 n이 주어진다..

[파이썬/python] 백준 14264번 정육각형과 삼각형

문제 한 변의 길이가 L인 정육각형을 가지고 있다. 오늘은 이 정육각형에 세 개의 겹치지 않는 대각선을 그리려고 한다. 대각선은 정육각형을 4개의 삼각형으로 나눈다. 4개의 삼각형 중에 면적이 제일 작은 삼각형의 면적을 S라고 한다. 가능한 S중에서 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정육각형 한 변의 길이 L이 주어진다. (1 ≤ L ≤ 1,000,000, L은 정수) ex) 5 10 출력 첫째 줄에 S의 최댓값을 출력한다. 절대/상대 오차는 10^9까지 허용한다. ex) 10.825317547305485 43.30127018922194 코드 import sys L = int(sys.stdin.readline()) S = 3**0.5 / 4 * L**2 print(S)

[파이썬/python] 백준 11945번 뜨거운 붕어빵

문제 고려대학교에 입학한 새내기 호돌이는 안암역을 지나다가 한 붕어빵 장수를 만났어요. “안녕, 안녕, 안녕하십니까, 아저씨! 붕어빵 두 개 주세요.” “안녕을 세 번 외쳤으니 붕어빵 세 개!” 붕어빵 두 개의 값을 내고 세 개를 받은 호돌이는 기분이 좋았어요. 호돌이가 붕어빵 하나를 꺼내어 한 입 물었는데…. 너무 뜨거워서 그만 붕어빵을 떨어뜨리고 말았어요ㅠㅠ 붕어빵은 자유 낙하운동을 하면서 땅에 떨어졌는데 신기하게도 좌우가 뒤집힌 모양으로 착지했답니다. 호돌이가 붕어빵을 한 입 물기 전의 모양이 입력으로 주어지면, 땅에 떨어졌을 때에는 어떤 모양일지 출력하세요. 입력 첫째 줄에는 두 개의 정수 N과 M(0≤N,M≤10)이 주어집니다. 둘째 줄부터 N개의 줄에 걸쳐 붕어빵의 모양이 주어집니다. 각 행에..

[파이썬/python] 백준 5613번 계산기 프로그램

문제 덧셈, 뺄셈, 곱셈, 나눗셈을 할 수 있는 계산기 프로그램을 만드시오. 입력 입력의 각 줄에는 숫자와 +, -, *, /, =중 하나가 교대로 주어진다. 첫 번째 줄은 수이다. 연산자의 우선 순위는 생각하지 않으며, 입력 순서대로 계산을 하고, =가 주어지면, 그때까지의 결과를 출력한다. 주어지는 수는 108 이하의 양의 정수이다. 계산 중 결과는 0 또는 음수가 될 수 있지만, -108 ~ 108 범위를 넘지는 않는다. 또, 나눗셈에서 소수점은 버린다. 따라서, 100/3*3 = 99이다. 피제수가 음수일 때 나눗셈을 하는 경우는 입력으로 주어지지 않는다. ex) 1 + 1 = 10 - 21 * 5 = 출력 첫째 줄에 계산 결과를 출력한다. ex) 2 -55 코드 import sys num=int..

[파이썬/python] 백준 11282번 한글

문제 한글의 각 글자는 초성, 중성, 종성으로 이루어져 있고, 이 세 가지를 모아써서 한 글자를 나타낸다. 초성은 ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ로 총 19개가 있고, 중성은 ㅏ, ㅐ, ㅑ, ㅒ, ㅓ, ㅔ, ㅕ ㅖ, ㅗ, ㅘ, ㅙ, ㅚ, ㅛ, ㅜ, ㅝ, ㅞ, ㅟ, ㅠ, ㅡ, ㅢ, ㅣ로 총 21개, 종성은 없음, ㄱ, ㄲ, ㄳ, ㄴ, ㄵ, ㄶ, ㄷ, ㄹ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅁ, ㅂ, ㅄ, ㅅ, ㅆ, ㅇ, ㅈ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ로 총 28개가 있다. 첫 번째 글자는 초성에서 ㄱ, 중성에서 ㅏ, 종성에서 없음을 합친 "가"가 되고, 두 번째 글자는 초성에서 ㄱ, 중성에서 ㅏ, 종성에서 ㄱ을 합친 "각"이 된다. 마지..

[파이썬/python] 백준 1834번 나머지와 몫이 같은 수

문제 N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다. 입력 첫째 줄에 2,000,000 이하의 자연수 N이 주어진다. ex) 3 2000000 출력 첫 줄에 구하고자 하는 수를 출력한다. ex) 12 3999999999999000000 코드 import sys import math n=int(sys.stdin.readline()) sum=0 for i in range(n+1, int(math.pow(n,2)), n+1): sum=sum+i print(sum)