본문 바로가기

수학81

[구현/수학] 백준 6840 Who is in the middle? - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 6840번: Who is in the middle? In the story Goldilocks and the Three Bears, each bear had a bowl of porridge to eat while sitting at his/her favourite chair. What the story didn’t tell us is that Goldilocks moved the bowls around on the table, so the bowls were not at the right seats www.acmicpc.net 2. 문제 풀이 세 수를 입력받아 중간값을 구하는 문제입니다. 3. 코드 import sys import math input = .. 2023. 6. 1.
[구현/수학] 백준 27961 고양이는 많을수록 좋다 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27961번: 고양이는 많을수록 좋다 올바른 행동 순서가 될 수 있는 하나의 예시는 아래와 같으며, $4$번보다 더 작은 행동 횟수로 $6$마리의 고양이를 마도카의 집에 들이는 것은 불가능하다. 초기 상태($0$마리) $\rightarrow$ 생성 www.acmicpc.net 2. 문제 풀이 생성마법: +1 복제마법: 1 ~ 2배 마법을 최소로 사용해서 고양이를 N마리로 만들어야 합니다. 보통 이런 문제는 DP를 사용하지만, 이 문제는 당연히 복제마법의 효율이 좋습니다. 사실상 생성마법 ∈ 복제마법인 셈이죠. 맨 처음에만 생성마법으로 +1을 시키고, 그 다음에는 복제마법만 쓰면 됩니다. 3. 코드 import sys import math input = sy.. 2023. 5. 7.
[구현/수학] 백준 27960 사격 내기 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27960번: 사격 내기 A, B, C는 올해에도 예비군 훈련을 받으러 간다. 이번 예비군 훈련 과정 중에는 영점 사격이 있으며, 10개의 과녁 각각에 점수를 매겨 맞춘 과녁 점수의 총합을 측정한다. 과녁을 맞혔을 때, 과녁별 www.acmicpc.net 2. 문제 풀이 A와 B의 사격점수가 주어집니다. 과녁은 1 / 2 / 4 / 8 / 16 / 32 / 64 / 128 / 256 / 512 배점이며, 각 과녁마다 1번씩만 쏴서 맞추면 해당 점수를 획득합니다. C는 A와 B 중 한 명만 맞힌 과녁은 맞췄으나, 둘 다 맞히거나 못 맞힌 과녁은 안 맞혔다고 합니다. C의 과녁점수를 구해야 합니다. True True False True False True Fa.. 2023. 5. 6.
[구현/수학] 백준 27868 On My Way Dorm - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27868번: On My Way Dorm 첫 번째 줄에 입력 형식과 같은 방법으로 사무실이 있는 층에서 아인이의 기숙사가 있는 층으로 퇴근하기 위한 커맨드를 출력한다. 가능한 커맨드가 여러 가지일 경우 그중 아무것이나 출력한 www.acmicpc.net 2. 문제 풀이 층마다의 가속기 성능과 도착지까지의 조작키를 입력으로 주어집니다. 이를 토대로 다시 출발지로 돌아가는 조작키를 출력해야 합니다. 3. 코드 import sys input = sys.stdin.readline n, s = map(int, input().split()) a_list = list(map(int, input().split())) command = input().rstrip() pri.. 2023. 5. 5.
[구현/수학] 백준 27724 팝핀 소다 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27724번: 팝핀 소다 입력의 첫 번째 줄에 대회에 참가하는 선수의 수 $N$, 일어날 수 있는 이변의 수 $M$, 시은이의 탄산 내성 $K$가 공백으로 구분되어 주어진다. 주어지는 모든 수는 정수이다. $(2 \le N \le 262\,144;$ $0 \le www.acmicpc.net 2. 문제 풀이 2의 거듭제곱수로 진행되는 토너먼트에서 시은이가 최대로 이길 수 있는 경기 수를 구하는 문제입니다. 입력으로 각 선수의 기량이 주어지며, 기량이 높은 선수가 승리하게 됩니다. 다만, 이변이 일어났을 경우에는 기량이 더 적은 선수가 승리합니다. 시은이가 최대한 많은 승리를 하기 위해서는, 일단 기량별로 정렬해서 강자는 강자끼리 약자는 약자끼리 붙어야 합니다.. 2023. 5. 4.
[구현/수학] 백준 27648 증가 배열 만들기 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27648번: 증가 배열 만들기 첫째 줄에 $N$, $M$, $K$가 주어진다. $\left(1 \le N , M \le 1\,000,1 \le K \le 100\,000 \right)$ www.acmicpc.net 2. 문제 풀이 2차원 배열에서, 왼쪽 또는 아래의 숫자가 크도록 하는 증가 배열을 만들어야 합니다. 최우측하단의 숫자가 K 이하라면 YES와 함께 증가 배열을 출력하고, 그렇지 않으면 NO를 출력합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 n, m, k = map(int, input().split()) # 대각선마다 1씩 늘어남 """ 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6.. 2023. 5. 3.
[구현/수학] 백준 27522 카트라이더: 드리프트 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27522번: 카트라이더: 드리프트 레드팀은 2, 4, 5, 6등을 달성하여 총 $20$점을, 블루팀은 1, 3, 7, 8등을 달성하여 총 $19$점을 기록하였다. www.acmicpc.net 2. 문제 풀이 플레이어 10명의 완주 기록과 소속 팀 정보가 주어집니다. 주어진 표의 점수대로 순위를 매겨서 어느 팀이 이겼는지 판정합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 race = [] for _ in range(8): tmp = list(input().split()) race.append(tmp) # 정렬 race.sort() # 점수 계산 score_red = 0 score_blue = 0 score .. 2023. 5. 2.
[구현/수학] 백준 27465 소수가 아닌 수 - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27465번: 소수가 아닌 수 이 대회의 운영진 중 한 명인 KSA 학생은 $17$시와 $19$시를 구별할 수 없다. 이는 당연하게도 $17$과 $19$가 모두 소수이기 때문일 것이다. 시간을 제대로 구별해서 KSA의 명예를 지키기 위해 정수 $N$ www.acmicpc.net 2. 문제 풀이 N이상의 소수가 아닌 수를 구해야 합니다. 3. 코드 n = input() print(1000000000) 입력조건에 1 2023. 5. 1.
[구현/수학] 백준 27159 노 땡스! - 파이썬(Python) [ Contents ] 1. 문제 (링크 참조) 27159번: 노 땡스! 《노 땡스!》는 $3$부터 $35$까지의 정수가 쓰인 수 카드를 이용하여 플레이할 수 있는 보드게임입니다. 수 카드를 경매를 통해서 낙찰받으며, 최종적으로 가지고 있는 수 카드를 이용하여 다음과 www.acmicpc.net 2. 문제 풀이 오름차순으로 정렬된 수들이 입력으로 주어집니다. 연속된 수가 있을 경우, 가장 작은 수만 더한 점수를 구해야 합니다. 3. 코드 import sys input = sys.stdin.readline # 입력 n = int(input()) lst = list(map(int, input().split())) # 점수계산 res = 0 first = lst[0] # 최초 시작점 pre = lst[0] #.. 2023. 4. 30.