백준: 8437번 Julka (Python3)
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 128 MB | 7133 | 2468 | 2328 | 38.189% |
문제요약
무슨 문제가 폴란드어로 돼있어서 이해를 할 수 없었다. 구글 번역기로 다행히 영어로 번역해서 문제를 이해했다.문제는 클라우디아랑 나탈리아가 사과를 먹는데, 총 사과의 수는 10개이고, 클라우디아가 나탈리아보다 사과 2개를 더 갖고 있다면 클라우디아와 나탈리아가 갖고 있는 각각 사과의 수는 몇개인지 출력하라는 것이다.
입력으로 두 숫자가 주어진다. 첫 번째 입력은 총 사과의 숫자, 그리고 두 번째 입력은 클라우디아가 사과 몇 개를 더 갖고 있는지. 즉, 사과가 10개이고, 클라우디아가 사과 2개를 더 갖고 있으면10 2 이렇게 입력을 준다.출력으로는 클라우디아가 가진 사과 개수랑 나탈리가 가진 사과 개수를 출력하면 된다.
문제
Julka zaskoczyła wczoraj w przedszkolu swoją wychowawczynię rozwiązując następującą zagadkę:
Klaudia i Natalia mają razem 10 jabłek, ale Klaudia ma o 2 jabłka więcej niż Natalia. Ile jabłek ma każda z dziewczynek?
Julka odpowiedziała bez namysłu: Klaudia ma sześć jabłek, natomiast Natalia ma cztery jabłka.
Wychowywaczyni postanowiła sprawdzić, czy odpowiedź Julki nie była przypadkowa i powtarzała zagadkę, za każdym razem zwiększając liczby jabłek w zadaniu. Julka zawsze odpowiadała prawidłowo. Zaskoczona wychowawczyni chciała kontynuować ,,badanie'' Julki, ale przy bardzo dużych liczbach sama nie potrafiła szybko rozwiązać zagadki. Pomóż pani przedszkolance i napisz program, który będzie podpowiadał jej rozwiązania.
Napisz program, który:
- wczyta (ze standardowego wejścia) liczbę jabłek, które mają razem obie dziewczynki oraz o ile więcej jabłek ma Klaudia,
- obliczy, ile jabłek ma Klaudia i ile jabłek ma Natalia,
- wypisze wynik (na standardowe wyjście).
입력
Wejście składa się z dwóch wierszy. Pierwszy wiersz zawiera liczbę wszystkich jabłek posiadanych przez dziewczynki, natomiast drugi - liczbę mówiącą, o ile więcej jabłek ma Klaudia. Obie liczby są całkowite i dodatnie. Wiadomo, że dziewczynki mają razem nie więcej niż 10100 (jedynka i sto zer) jabłek. Jak widać, jabłka mogą być bardzo malutkie.
출력
Twój program powinien wypisać (na standardowe wyjście) w dwóch kolejnych wierszach dwie liczby całkowite, po jednej w wierszu. Pierwszy wiersz powinien zawierać liczbę jabłek Klaudii, natomiast drugi - liczbę jabłek Natalii. Wiadomo, że dziewczynki zawsze mają całe jabłka.
예제 입력 1
10
2
예제 출력 1
6
4
시도
1
2
3
4
5
6
7
8
9
|
total = int(input())
has_more = int(input())
reversed_list = list(range(total, -1, -1))
mediocre_list = list(range(0, total+1))
for Klaudia, Natalia in zip(reversed_list, mediocre_list):
if(Klaudia-Natalia==has_more):
print(Klaudia, Natalia)
|
cs |
입력과 출력을 설명대로 잘 작동하도록 코드를 짰다. 그리고 실제로 테스트 했을 때에도 결과가 잘 나왔다.
그런데 자꾸 채점중 99% 이러다가 OverflowError를 뱉어낸다...
진짜 뭐가 잘못됐는지 알 수는 없었지만 (아시는 분 계시면 댓글 부탁드립니다), 아마 입력이 10의 100승까지 있는데, 리스트 두 개에 for loop으로 돌리니 overflow가 발생한 것 같다. 아마 나의 예측이 맞을거다. 그래서 결국엔 구글에서 검색해서 답안지를 보고 말았다.
1
2
3
4
|
x = int(input())
y = int(input())
print((x+y)//2)
print((x-y)//2)
|
cs |
답은 이렇게 간단하더라. 이래서 코딩하는 사람이 수학을 잘 해야 된다는 것을 깨달았다... for loop을 돌리지 않고 간단한 식 두 개로 해결할 수 있는데, 진짜 뭐랄까 허무했다. ㅋ..그리고 너무 멍청한 것 같다.
'공부 > 코딩테스트' 카테고리의 다른 글
백준: 8871번 Zadanie próbne 2 (Python3) (0) | 2022.07.23 |
---|---|
백준: 8545번 Zadanie próbne (Python3) (0) | 2022.07.23 |
백준: 8393번 합 (Python3) (0) | 2022.07.23 |
백준: 8370번 Plane (Python3) (0) | 2022.07.23 |
백준: 7287번 등록 (Python3) (0) | 2022.07.23 |
댓글