Python/Beakjoon

10871번,10950번,2753번,2588번

hyunjoo 2021. 7. 15. 23:56

<10871번>

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

 

10871번: X보다 작은 수

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

www.acmicpc.net

1번째 시도)

N = int(input())
X = int(input())

A =list(map(int,input().split()))
result=[]

for i in range(0,N):
    if A[i]<X:
        result.append(A[i])

print(result)

>>컴파일 에러

한줄에 N,X 값을 모두 받아야하는데 다른 줄로 받아서 생긴 에러인 것 같다..

입력 값을 엔터로 구분하지 않고 한줄에 여러 값 받으려면 split()함수 사용

그리고 마지막에 result를 print 해버리면 리스트 형태로 출력되기 때문에 숫자만 출력될 수 있도록 바꿔야한다.

그러기 위헤서 print에 end 옵션 사용

 

2번째 시도)

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

A =list(map(int,input().split()))
result=[]

for i in range(0,N):
    if A[i]<X:
        result.append(A[i])

for i in range(0,len(result)):
    print(result[i],end=' ')

 

<10950번>

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

 

10950번: A+B - 3

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

첫번째 시도)

T=int(input())


p_list=[]
result_lsit=[]

for i in range(0,T):
    A,B=map(int,input().split())
    p_list.append((A,B))
    for (first,last) in p_list:
        result_lsit.append(first+last)

for i in range(0,T):
    print(result_lsit[i])

>>그냥 실행해 봐도 안되는데..

아이디어는 입력한 정수만큼 A,B를 리스트로 짝지어 또 다른 리스트에 저장한 후, 짝지어진 리스트들의 합을 출력하는 것..

리스트를 짝지어서 다른 리스트에 넣는 방법을 잘 모르겠다.

 

2번째 시도)

T=int(input())


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

>>정답

내가 너무 어렵게 생각한 건가...?A,B 한 쌍을 입력하고 바로 답을 출력하는 것은 간단하지만

답을 한번에 출력하는 방법은...좀 더 생각해 봐야겠다.

정답처리는 되지만 리스트로 받아서 다른 리스트의 넣는 방법 알아보기!!!

 

<2753번>

2753번: 윤년 (acmicpc.net)

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

year=int(input())

if year%4==0 and year%100!=0:
    print('1')
elif year%400==0:
    print('1')
else:
    print('0')

 

<2588번>

2588번: 곱셈 (acmicpc.net)

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

a=int(input())
b=int(input())

print(a*(b-(b//10)*10))
print(a*((b%100)//10))
print(a*(b//100))
print((a*(b-(b//10)*10))+(a*((b%100)//10))*10+(a*(b//100))*100)

 

 

 

반응형