sm 기술 블로그

[단계별] 백준 Python 1(2557)~37(2577) 본문

문제/백준_파이썬

[단계별] 백준 Python 1(2557)~37(2577)

sm_hope 2022. 5. 8. 21:14

1. 2557

print("Hello World!")

 

 

2. 10718

print("강한친구 대한육군\n강한친구 대한육군")

 

 

3. 10171

print("\\    /\\")
print(" )  ( ')")
print("(  /  )")
print(" \\(__)|")

(탈출 문자)

 

 

4. 25083

print("         ,r'\"7")
print("r`-_   ,'  ,/")
print(" \\. \". L_r'")
print("   `~\\/")
print("      |")
print("      |")

 

 

5. 1000

a, b = map(int, input().split())
print(a+b)

우선 기본형 input은 입력된 값을 문자열로 인식해준다. 

이를 숫자로 인식하기 위해서는 int를 써주어야 한다. -----> int(input("입력 : "))

 

만약 입력된 값이 두개 이상일 경우에 split을 통해 구분할 수 있다.

a = "This is sm's homepage
a.split()


# 출력결과
['This', 'is', "somang's", 'homepage']

 

input을 이용하면 다음과 같다.

A, B = input().split() # 1, 2 입력
# A = 1, B = 2

 

 

 

다음과 같이도 가능하다

A, B = input().split() # 1, 2 입력
x = int(A)
y = int(B)
print(x + y) 


# 출력결과
3

map을 통해서 간단하게 정리할 수 있다.

map(적용할 함수, 반복 가능한 자료형)  이 기본 구조 이다.

 

 

 

6. 1001

a, b = map(int, input().split())
print(a-b)

 

 

7. 10998

a, b = map(int, input().split())
print(a*b)

 

 

8. 1008

a, b = map(int, input().split())
print(a/b)

 

 

9. 10869

a, b = map(int, input().split())

print(a+b)
print(a-b)
print(a*b)
print(int(a/b))
print(a%b)

 

 

10. 10926

print(input()+"??!")

확실이 파이썬이 느르긴 하네..(메모리를 많이 먹음)

 

 

11. 18108

print(int(input())-543)

 

 

12. 10430

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)

 

 

13. 2588

A = int(input())
B = int(input())

print(A * (B % 10))
print(A * int((((B % 100)-(B % 10))) / 10))
print(A * int((B / 100)))
print(A * B)

 

 

14. 1330

A, B = map(int, input().split())

if A < B :
    print("<")
elif A > B :
    print(">")
elif A == B :
    print("==")

 

 

15. 9498

N = int(input())

if 90 <= N <= 100 :
    print("A")
elif 80 <= N <= 89 :
    print("B")
elif 70 <= N <= 79 :
    print("C")
elif 60 <= N <= 69 :
    print("D")
else :
    print("F")

 

 

16. 2753

N = int(input())

if ((N % 4 == 0) and (N % 100 != 0)) or (N % 400 == 0) :
    print("1")

else :
    print("0")

 

 

17. 14681

A = int(input())
B = int(input())

if A > 0 and B > 0 :
    print("1")

elif A < 0 and B > 0 :
    print("2")

elif A < 0 and B < 0 :
    print("3")

elif A > 0 and B < 0 :
    print("4")

 

 

18. 2884

H, M = map(int, input().split())

H = H * 60

time = H + M - 45

hour = int(time / 60)
minute = time - (hour * 60)

if minute < 0 :
    print("23", minute+60)
    
else :
    print(f"{hour} {minute}")

 

 

19. 2525

A, B = map(int, input().split())
C = int(input())

A = A * 60

time = A + B + C

hour = int(time / 60)
minute = time - (hour * 60)

if hour > 23 :
    print("{0} {1}".format(hour-24, minute))
    
else :
    print(f"{hour} {minute}")

 

간단하게 풀면

A, B=map(int , input().split())
B += int(input()) # A + B + C
print((A + B // 60) % 24 , B % 60)

 

 

20. 2480

A, B, C = map(int , input().split())

if A == B == C :
    print(10000 + A * 1000)

elif A == B or A == C or B == C :
    
    if A == B or A == C :
        print(1000 + A * 100)
    
    else :
        print(1000 + B * 100)

else :
    print(max(A, B, C) * 100)

 

 

21. 2739

N = int(input())

for i in range(1, 10) :
    print("{0} * {1} = {2}".format(N, i, N*i))

 

 

22. 10950

N = int(input())

for i in range(0, N) :
    A, B = map(int, input().split())
    print(A + B)

 

 

23. 8393

N = int(input())

sum = 0

for i in range(1, N+1) :
    sum += i

print(sum)

 

 

24. 15552

import sys
T = int(sys.stdin.readline())

for _ in range(T) :
    A ,B = map(int, sys.stdin.readline().split())
    print(A + B)

input() == sys.stdin.readline() 근데 속도는 그렇게 크게 차이 나지 않는다.

for _ in rage()  _는 그냥 반복한다 라고 생각하자.

 

 

25. 2741

N = int(input())

for i in range(N) :
    print(i + 1)

 

 

26. 2742

N = int(input())

for i in range(N) :
    print(N - i)

 

 

한줄로 끝내기

print(*range(int(input()),0,-1))

range( input 부터 , 여기까지 , 이방법으로) 반복

range(int(input()),0,-1) : input 부터 0 까지 감소시키면서 반복

 

 

27. 11021

T = int(input())

for i in range(T) :
    A, B = map(int, input().split())
    print("Case #{0}: {1}".format(i + 1, A + B))

 

 

28. 11022

T = int(input())

for i in range(T) :
    A, B = map(int, input().split())
    print("Case #{0}: {1} + {2} = {3}".format(i + 1, A, B, A + B))

 

 

29. 2438

N = int(input())

for i in range(N):
    print("*" * (i+1))

문자를 * 로 여러번 출력할 수 있다.

 

 

30. 2439

N = int(input())

for i in range(N):
    print(" " * (N-(i+1)) + "*" * (i+1))

 

 

31. 10871

N ,X = map(int, input().split())

A = list(map(int, input().split()))
for i in range(N) :
    if A[i] < X :
        print(A[i], end = " ")

여러 값을 받을 때는 리스트를 이용하자.

 

 

32. 10952

while(True) :
    A, B = map(int, input().split())
    if A == 0 and B == 0 :
        break
    print(A + B)

 

 

33. 10951

while True :
    try :
        A, B = map(int, input().split())

        print(A + B)
    
    except :
        break

 

 

34. 1110

N = int(input())
T = N
cnt = 0

while True :
    cnt += 1
    A = int(T / 10)
    B = T % 10
    T = A + B
    T = (B * 10) + (T % 10)

    if N == T :
        break

print(cnt)

 

 

조금 더 간단히 하면

T = N = int(input())
cnt = 0

while True :
    cnt += 1
    T = 10 * (T % 10) + ((T//10) + (T % 10)) % 10

    if N == T :
        break

print(cnt)

 

 

35. 10818

N = int(input())

num = list(map(int, input().split()))

print(min(num) , max(num))

 

 

36. 2562

num = []

for _ in range(9) :
    i = int(input())
    num.append(i)

print(max(num))
print(num.index(max(num))+1)

 

 

37. 2577

A = int(input())
B = int(input())
C = int(input())

num = list(str(A * B * C))

for i in range(10) :
    print(num.count(str(i)))

 

'문제 > 백준_파이썬' 카테고리의 다른 글

42. 15596 (정수 N개의 합)  (0) 2022.05.14
41. 4344 (평균은 넘겠지)  (0) 2022.05.14
40. 8958 (OX퀴즈)  (0) 2022.05.14
39. 1546 (평균)  (0) 2022.05.14
38.(3052)  (0) 2022.05.14
Comments