728x90

20240516 백준 파이썬 공부
1357번 뒤집힌 덧셈

1. 문제
어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. 
Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 
예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다.

두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오

2. 입력
첫째 줄에 수 X와 Y가 주어진다. 
X와 Y는 1,000보다 작거나 같은 자연수이다.

3. 출력
첫째 줄에 문제의 정답을 출력한다.

>>>코드1. 나눠서 역순 만들기

x, y = map(int, input().split())
X, Y, Z = 0, 0, 0
while x>0:
    X = X*10 + x%10
    x //= 10
while y>0:
    Y = Y*10 + y%10
    y //= 10
z = X+Y
while z>0:
    Z = Z*10 + z%10
    z //= 10
print(Z)



>>>코드2. 자료형을 변환해서 역순 만들기

x, y = map(int, input().split())
X, Y, Z = "", "", ""
x, y = str(x), str(y)
for i in range(len(x)):
    X += x[-i-1]
for i in range(len(y)):
    Y += y[-i-1]
z = str(int(X) + int(Y))
for i in range(len(z)):
    Z += z[-i-1]
print(int(Z))



>>>문제링크
https://www.acmicpc.net/problem/1357

728x90
728x90

20240515 백준 파이썬 공부
11170번 0의 개수

1. 문제
N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라.
예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다.

2. 입력
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 줄에는 N과 M이 주어진다.

- 1 ≤ T ≤ 20
- 0 ≤ N ≤ M ≤ 1,000,000

3. 출력
각각의 테스트 케이스마다 N부터 M까지의 0의 개수를 출력한다.

>>>코드

for _ in range(int(input())):
    count = 0
    a, b = map(int, input().split())
    for i in range(a, b+1):
        n = str(i)
        count += n.count('0')
    print(count)



>>>문제링크
https://www.acmicpc.net/problem/11170

728x90

+ Recent posts