7/ 05 파이썬 공부
1. 백준 26057 Большой удой
В финал соревнования по удою <<Большой удой>> прошли Архип и Бронислав. В течение раунда каждый надоил ведро молока (возможно, неполное), после чего результаты были записаны на листочек, а вёдра с молоком были одновременно опрокинуты в большой чан. Отметка в чане показала, что суммарно было надоено
$L$ литров молока. Но только участники отвлеклись на вручение призов, как листочек с результатами съела коза.
Баба Надя, недавно приобрёвшая слуховой аппарат, заявила что может восстановить результаты на слух. По вековому опыту она знает, что молоко из ведра льется со скоростью 1 литр в секунду. А на слух она определила, что во время финала молоко лилось в течение
$T$ секунд. Помогите ответить на вопрос --- на сколько литров победитель обогнал проигравшего?
В первой строке дано целое число L -- количество литров молока, надоенного финалистами
(1 <= L <= 10^9).
Во второй строке дано целое число T -- время, в течение которого лилось молоко
(1 <= T <= 10^9, T <= L < 2 * T).
Выведите единственное целое число -- разницу между количеством молока в литрах, надоенного финалистами.
>>>해석
아킵과 브로니슬라프는 우유 생산량 대회 <<Big milk yield>>의 결승에 진출했습니다.
라운드 동안 각자 우유를 짜서 결과를 종이에 기록한 뒤, 동시에 큰 통에 우유를 부었습니다.
통의 표시는 총 L리터의 우유가 생산되었음을 나타냅니다.
하지만 참가자들이 상을 수여하는 것에 정신이 팔리자, 염소 한 마리가 결과가 적힌 전단지를 먹었습니다.
최근 보청기를 구입한 바바 나디아는 귀로 결과를 복원할 수 있다고 말했습니다.
그녀는 오랜 경험을 통해 우유가 초당 1리터의 속도로 양동이에서 흘러나오는 것을 알고 있습니다.
그리고 그녀는 결승에서 큰 통에 우유를 부을 때 T초 동안 우유가 흘렀다고 판단했습니다.
질문에 답하는 것을 도와주세요. 승자가 패자보다 우유를 몇 리터 더 짰나요?
첫째 줄에 결승 진출자들이 생산한 우유의 리터 수 L(1 <= L <= 10^9)이 정수로 주어진다.
둘째 줄에 우유가 흐른 시간 T(1 <= T <= 10^9, T <= L < 2 * T)가 정수로 주어진다.
결승 진출자들이 생산한 우유 양(리터)의 차를 출력합니다.
>>>코드
l = int(input())
t = int(input())
print(t - (l-t))
2. 백준 26731 Zagubiona litera
Bajtosia pracuje w przedszkolu jako nauczycielka angielskiego.
Dzisiaj na lekcji dzieci mają poznać litery alfabetu angielskiego. Bajtosia przygotowała na tę lekcję 26 specjalnych tabliczek, z których każda zawierała jedną literę alfabetu.
Niestety w ostatniej chwili Bajtosia zauważyła, że ma jedynie 25 tabliczek.
Jedna z nich musiała gdzieś się zapodziać! Czy możesz określić, której tabliczki brakuje?
Pierwszy i jedyny wiersz wejścia zawiera 25 wielkich liter alfabetu angielskiego. Są to litery, które znajdują się na tabliczkach posiadanych przez Bajtosię. Wszystkie litery są różne.
W pojedynczym wierszu należy wypisać literę, która została zgubiona.
>>>해석
Bytesia는 유치원에서 영어 교사로 일하고 있습니다.
오늘 수업에서 아이들은 영어 알파벳의 글자를 배울 것입니다.
Bytesia는 이 수업을 위해 각각 알파벳 문자가 하나씩 포함된 26개의 특수 태블릿을 준비했습니다.
불행하게도 마지막 순간에 Bytesia는 자신이 가지고 있는 태블릿이 25개뿐이라는 사실을 알아차렸습니다.
그 중 하나는 어디론가 사라진 게 분명해! 어떤 접시가 없어졌는지 확인할 수 있습니까?
첫 번째이자 입력 줄에는 영문 대문자 25개가 포함되어 있습니다.
Bytesia가 소유한 태블릿에서 찾을 수 있는 문자입니다. 모든 글자가 다릅니다.
빠진 알파벳 문자를 한 줄에 쓰십시오.
>>>코드
s = input()
for i in range(26):
if chr(65+i) not in s:
print(chr(65+i))
break
3. 백준 26767 Hurra!
Mała Bajtynka lubi liczyć, a szczególnie uwielbia liczby 7 i 11. Mimo najlepszych starań nauczycieli, Bajtynka uroczyście celebruje, zarówno w mowie, jak i na piśmie, każdą napotkaną liczbę podzielną przez 7, zamiast jej nazwy wykrzykując (albo pisząc) Hurra!. Liczenie Bajtynki może więc wyglądać tak:
. . . , 5, 6, Hurra!, 8, 9, . . .
albo tak:
. . . , 12, 13, Hurra!, 15, 16, . . .
Podobnie każda liczba podzielna przez 11 zastępowana jest okrzykiem Super! (na przykład: . . . , 31, 32, Super!, 34, . . . ). Jeśli zaś Bajtynka napotka liczbę, która jest podzielna zarówno przez 7, jak i 11, zamiast niej woła Wiwat! – jest to nieco archaiczne, ale historia jest, zaraz po informatyce, ulubionym przedmiotem Bajtynki.
Spraw Bajtynce prezent na urodziny – napisz program, który w jej imieniu doliczy do dużych liczb!
Twój program powinien wczytać z wejścia jedną liczbę całkowitą N. Liczba będzie równa co najmniej 1 i co najwyżej 1 000 000.
Wypisz kolejne liczby od 1 do N tak, jak napisałaby je Bajtynka. Każdą liczbę wypisz w oddzielnym wierszu.
>>>해석
369 게임을 모르시는 분들은 아마 없을 것이다.
이번에 설명할 Hurra 게임은 369 게임과 아주 비슷한 게임이다. 게임은 아래와 같이 진행된다.
● 참가자들은 1 부터 N 까지 수를 차례로 돌아가면서 외친다.
● 만약 외쳐야 하는 수가 7 의 배수이면서 11 의 배수는 아니라면, 수 대신 "Hurra!" 를 외쳐야 한다.
● 만약 외쳐야 하는 수가 7 의 배수가 아니면서 11 의 배수라면, 수 대신 "Super!" 를 외쳐야 한다.
● 만약 외쳐야 하는 수가 7 의 배수이면서 11 의 배수라면, 수 대신 "Wiwat!" 를 외쳐야 한다.
N 이 주어지면, 1 번째 차례부터 N 번째 차례까지 참가자들이 외쳤을 말을 출력해 보자.
첫 번째 줄에 N 이 주어진다.
총 N 개의 줄을 출력해야 한다. i 번째 줄에는 참가자가 i 번째 차례에 외친 말을 출력해야 한다.
제한
1 <= N <= 1,000,000
>>>코드
n = int(input())
for i in range(1, n+1):
if i%7 == 0 and i%11 != 0:
print('Hurra!')
elif i%7 != 0 and i%11 == 0:
print('Super!')
elif i%7 == 0 and i%11 == 0:
print('Wiwat!')
else:
print(i)
4. 백준 27267 Сравнение комнат
Маша и Петя решили выяснить, чья комната больше. Машина и Петина комнаты имеют форму прямоугольников, причем Машина комната имеет размеры a на b метров, а Петина --- c на d метров.
Напишите программу, которая определит, чья комната больше: Машина или Петина.
На ввод подается четыре натуральных числа, разделенных пробелами:
a, b, c и d (1 <= a, b, c, d <= 1000).
Если Машина комната больше, выведите латинскую букву <<M>>. Если Петина комната больше, выведите латинскую букву <<P>>. Если комнаты ребят имеют одинаковую площадь, выведите латинскую букву <<E>>.
>>>해석
마샤와 페트야가 누구의 방이 더 큰지 알아보려 합니다.
둘의 방은 직사각형 형태로, 마샤의 방은 a미터 * b미터 크기이고 페트야의 방은 c미터 * d미터 크기입니다.
마샤와 페트야 중 누구의 방이 더 큰지 판별하는 프로그램을 작성합시다.
공백으로 구분된 네 자연수 a, b, c, d가 입력으로 주어집니다. (1 <= a, b, c, d <= 1000)
마샤의 방이 더 크면 라틴 문자 M을 출력합니다. 페트야의 방이 더 크면 라틴 문자 P를 출력합니다.
둘의 넓이가 같다면 라틴 문자 E를 출력합니다.
>>>코드
a, b, c, d = map(int, input().split())
if a*b>c*d:
print('M')
elif a*b<c*d:
print('P')
else:
print('E')
5. 백준 25932 Find the Twins
Dr. Orooji’s twins (Mack and Zack) play soccer. We will assume Mack wears jersey number 18 and Zack wears 17. So, Dr. O has to look for these two numbers when trying to find the twins.
Given a list of 10 numbers, determine if the twins are there.
The first input line contains a positive integer, n, indicating the number of data sets to check. The sets are on the following n input lines, one set per line. Each set consists of exactly 10 single-space-separated distinct integers (each integer between 11 and 99 inclusive) giving the jersey numbers for the players.
Print each input set. Then, on the next output line, print one of four messages (mack, zack, both, none), indicating how many of the twins are in the set. Leave a blank line after the output for each test case.
>>>번역
Dr. Orooji의 쌍둥이(Mack and Zack)는 축구를 합니다.
우리는 Mack가 18번 저지를 입고 Zack이 17번을 입는다고 가정합니다.
따라서 Dr. O는 쌍둥이를 찾으려고 할 때 이 두 번호를 찾아야 합니다.
10개의 숫자 목록이 주어지면 쌍둥이가 있는지 확인하십시오.
첫 번째 입력 라인에는 확인할 데이터 세트의 수를 나타내는 양의 정수 n이 포함됩니다.
세트는 다음 n 입력 라인에 있으며 라인당 하나의 세트입니다. 각 세트는 정확히 10개의 단일 공백으로 구분된 개별 정수(11에서 99 사이의 각 정수)로 구성되어 플레이어의 저지 번호를 제공합니다.
각 입력 세트를 인쇄합니다. 그런 다음, 다음 출력 라인에 네 가지 메시지(mack, zack, both, none) 중 하나를 인쇄하여 세트에 몇 개의 쌍둥이가 있는지 표시합니다. 각 테스트 사례에 대한 출력 뒤에 빈 줄을 남겨둡니다.
>>>코드
for _ in range(int(input())):
l = list(map(int, input().split()))
print(*l)
if 18 in l and 17 in l:
print('both\n')
elif 18 in l:
print('mack\n')
elif 17 in l:
print('zack\n')
else:
print('none\n')
6. 백준 4696 St, Ives
Robert the chapman (a medieval traveling merchant) made regular trips between his home village and St. Ives to peddle his cloth, ribbons, and needles. On one such trip he encountered a curious procession:
As I was traveling to St. Ives
I met a man with seven wives.
Every wife had seven sacks.
Every sack had seven cats.
Every cat had seven kits.
Kits, cats, sacks, wives -
How many were traveling to St. Ives?
The answer to this classic ancient riddle is ’one’. Robert was traveling to St. Ives. The others were all traveling away from St. Ives. However, if we prefer to ask the question of how many were traveling from St. Ives, we can add up:
1 man
7 wives
7*7 sacks
7*7*7 cats
7*7*7*7 kittens
for a total of 2801.
On his next trip to St. Ives, Robert met the same man, this time accompanied by 3 wives, each
with 3 sacks, and so on. Becoming curious about what seemed to be a bizarre village ritual of some kind, Robert kept track of how many traveled with the man each time he encountered him during the subsequent year.
On average, what was the size of the processions that Robert encounter on his trips to St. Ives?
Input consists of multiple data sets. Each data set consists of a line with a single floating point number number representing the numbers of wives, sacks per wife, cats per sack, and kittens per cat that Robert encountered that year.
End of input is indicated by a value of zero.
For each data set, print the size of the average procession as a real number presented to 2 decimal points precision.
>>>해석
로버트 채프먼(중세의 여행하는 상인)은 그의 고향 마을과 St.Ives 사이를 정기적으로 여행하여 천, 리본, 바늘을 장사했습니다. 그러한 여행에서 그는 신기한 행렬을 만났습니다.
내가 St. Ives로 여행할 때
아내가 일곱인 남자를 만났습니다.
모든 아내는 일곱 자루를 가지고 있었습니다.
모든 자루에는 일곱 마리의 고양이가 있었습니다.
모든 고양이는 7개의 키트를 가지고 있었습니다.
키트, 고양이, 자루, 아내 -
얼마나 많은 사람들이 St. Ives로 여행하고 있었습니까?
이 고전적인 고대 수수께끼의 답은 '하나'입니다. 로버트는 St. Ives로 여행 중이었습니다.
다른 사람들은 모두 St. Ives에서 멀리 여행하고 있었습니다. 그러나 St. Ives에서 얼마나 많은 사람들이 여행했는지에 대한 질문을 선호한다면 다음과 같이 더할 수 있습니다.
1명
7명의 아내
7*7 자루
7*7*7 고양이
7*7*7*7 새끼 고양이
총 2801개.
St. Ives로의 다음 여행에서 로버트는 같은 남자를 만났는데, 이번에는 각각 3명의 아내와 동행했습니다.
3 자루 등. 어떤 종류의 기이한 마을 의식처럼 보이는 것에 호기심을 갖게 된 로버트는 그 다음 해에 그를 만날 때마다 그 남자와 얼마나 많은 사람들이 여행했는지를 추적했습니다.
평균적으로 로버트가 St. Ives로 여행하는 동안 마주치는 행렬의 규모는 어느 정도였습니까?
입력은 여러 데이터 세트로 구성됩니다. 각 데이터 세트는 아내의 수, 아내당 자루 수, 자루당 고양이 수, 그해 로버트가 만난 고양이 수를 나타내는 단일 부동 소수점 숫자가 있는 라인으로 구성됩니다.
입력의 끝은 0 값으로 표시됩니다.
각 데이터 세트에 대해 평균 행렬의 크기를 소수점 이하 2자리 정밀도로 표시되는 실수로 출력하십시오.
>>>코드
while True:
n = float(input())
r = 0
if n == 0:
break
for i in range(5):
r += n**i
print('%.2f' %(r))
'백준 > 백준 파이썬' 카테고리의 다른 글
백준 파이썬 1292번 쉽게 푸는 문제 (Today I Learn 2023.10.06) (0) | 2023.10.06 |
---|---|
백준 파이썬 1010번 다리놓기 (Today I Learn 2023.10.04) (1) | 2023.10.06 |
백준 파이썬 Today I Learn 2023.07.04 (0) | 2023.07.04 |
백준 파이썬 Today I Learn 2023.07.03 (1) | 2023.07.04 |
백준 파이썬 Today I Learn 2023.07.02 (0) | 2023.07.03 |