코드 발전소

[백준 문제집][Python 배우기 (1~50)][10430] 나머지 본문

백준 문제집/Python 배우기(1~50)

[백준 문제집][Python 배우기 (1~50)][10430] 나머지

FeCa 2019. 12. 23. 23:15

이 글에서 살펴볼 문제는 백준 10430번입니다.

주소는 아래와 같습니다.

https://www.acmicpc.net/problem/10430

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

automata님의 문제집, "Python 배우기 (1~50)"의 7번 문제입니다.

 

 1. 문제 이해                                                                  

 

해당 문제는 다음과 같습니다.

잠시 문제를 간단하게 살펴보면,

"복잡한 연산 두 개의 값을 그저 출력하는 문제"임을 알 수 있습니다.

문제의 시간 제한, 메모리 제한은 다음과 같습니다.

문제의 입력과 출력은 다음과 같습니다.

문제에서 제시된 예제 입출력은 다음과 같습니다.

 

 2. 어떻게 해결할 것인가?                                                  

 

해당 문제는 간단하게 보면,

"복잡한 연산 두 개의 값을 그냥 출력하는 문제"라고 앞서 설명했습니다.

아주 간단하게, print() 함수를 사용하여 괄호 안에 문제에서 제시된 연산을 넣은 뒤,

그 결과를 출력해주는 형태로 코드를 구현하면 될 것 같습니다.

즉, print() 함수와 연산자를 활용할 수 있는지에 대해 묻는 간단한 문제입니다.

 

 

 3. 문제 해결                                                                   

 

의식의 흐름대로 코드를 작성해본다면 다음과 같이 간단하게 작성할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
a, b, c = input().split()
 
= int(a)
= int(b)
= int(c)
 
print((a + b) % c)
print((a % c + b % c) % c)
print((a * b) % c)
print((a % c * b % c) % c)

 

 4. 코드 제출 및 결과                                                        

 

​해당 코드가 정답임을 확인할 수 있습니다.

 

 5. 문제의 정답 비율                                                         

 

정답 비율은 간단한 문제임에도 불구하고 60.939% 임을 알 수 있습니다.

 

 6. 다른 정답자들과의 코드 비교                                          

 

정답자들의 코드는 대부분 비슷하거나 동일하므로 생략합니다.

오답자들의 대표적인 코드는 다음과 같습니다.

대부분의 오답자분들이 위와 같은 "실수"를 하셨습니다.

연산이 좀 복잡했던 나머지, 6번째 줄과 같은 괄호를 빼고 연산을 작성하는 실수를 하셨습니다.

 

충분히 할 수 있는 사소한 실수들이니 조금 더 유심히 출력 조건을 확인할 필요가 있습니다.

 

 

 7. 결론                                                                         

 

너무 간단한 문제이니 결론은 내지 않겠습니다.

긴 글 읽어주신 여러분들께 진심으로 감사드립니다.

좋은 날 되세요.