190103 백준 알고리즘 문제풀기
03 Jan 2019 | baekjoonBaekjoon 알고리즘 문제풀기
[1000] A+B / [1001] A-B / [10998] AxB / [1008] A/B / [10869] 사칙연산
문제
-
두 정수 A와 B를 받고, 연산하여 출력하는 프로그램
-
다중 입력을 원할경우
map(형식, input().split())
을 활용한다.
정답
a, b = map(int, input().split())
print(a+b)
print(a-b)
print(a*b)
print('%0.9'%(a/b))
print(int(a/b))
print(a%b)
[10172] 개
문제
-
아래 주어진 개를 출력하는 프로그램
- 파이썬에서 ‘\‘를 출력하고자 할때는 ‘\\‘로 입력해야 한다.
- 줄 개행이 포함된 출력을 원할경우
print('''내용''')
을 이용한다.
|\_/|
|q p| /}
( 0 )"""\
|"^"` |
||_/=\\__|
정답
print('''|\\_/|
|q p| /}
( 0 )"""\\
|"^"` |
||_/=\\\\__|''')
[11718] / [11719] 그대로 출력하기
문제
- 주어진 입력 그대로 출력한다.
- 최대 100줄, 한 문장은 100자를 넘지 않는다.
정답
cnt = 1
while True:
print(input())
cnt += 1
if (cnt == 100):
break
- 하지만 계속 런타임 에러가 나서 아래의 코드로 제출했다…
while True: try: print(input()) except EOFError: break
[10430] 나머지
문제
- (A+B)%C는 (A%C + B%C)%C 와 같을까?
- (A×B)%C는 (A%C × B%C)%C 와 같을까?
정답
A, B, C = map(int, input().split())
print((A+B)%C)
print((A%C + B%C)%C)
print((A*B)%C)
print((A%C*B%C)%C)
[2839] 설탕배달
문제
- 주어진 설탕 무게를 3, 5 kg 봉지에 나눠 담어야 한다.
- 단, 갯수는 최대한 적게 되도록 한다.(18kg일 경우 3kg 6개가 아닌 5kg 3개, 3kg 1개로 총 4개)
-
단, 정확하게 N개의 봉지로 나눌 수 없는경우엔 -1을 출력한다.
- 처음에 문제를 잘못 이해해서 애를 많이 먹었다.
- 최대한 큰 봉지(5kg)에 담고, 남은 설탕이 3kg봉지에 딱 맞아떨어지지 않게되면 5kg 봉지를 하나씩 깐다.
- 만약 5kg봉지를 다 깟는데도 3kg으로 나눠떨어지지 않는 경우에는 3kg 봉지로 정확히 담을 수 없는 상황이므로 -1을 출력한다.
정답
a = int(input())
f = a//5
fr = a%5
while True:
t = fr//3
tr = fr%3
if (tr!=0):
f -= 1
fr += 5
else:
result = f + int(t)
break
if (f<0):
result = -1
break
print(result)