백준

백준 10430, 2440, 7287, 2441, 9498, 8393, 2558, 10172, 1924, 10817, 11718, 10871 문제풀이 [python]

ys.k 2023. 5. 31. 00:01

포스팅에 앞서 틀린 내용이 있을 수 있습니다. 해당 부분 지적 감사히 받습니다.

이번 문제들은 주관적 기준하에 중요하다고 생각한 부분만 남길 것이다.

10430 문제 [나머지]

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)

 

2440번 문제 [별 찍기 -3]

 

2440번 코드 : 

a = int(input())

for i in range(a,0,-1):
    print('*'*i)

 

 

7287번 문제 [등록]

7287번 코드 :

print('17\nrladydtn')

이거는 별거 없다. 그냥 본인 정보 맞게끔 개인 페이지에서 찾아서 입력하면 된다.

 

2441번 문제 [별 찍기 -4]

2441번 코드

a = int(input())

for i in range(a,0,-1):
    print(' '*(a-i)+'*'*i)

 

9498번 문제 [시험 성적]

9498번 코드

a= int(input())

if(a>89):
    print('A')
elif(a>79):
    print('B')
elif(a>69):
    print('C')
elif(a>59):
    print('D')
else:
    print('F')

 

간단하다.

 

8393번 문제 [합]

 

8393번 코드

 

a = int(input())
b=0
for i in range(1,a+1):
    b+=i
print(b)

 

아직까지 설명은 필요 없다.

 

2558번 문제 [ A+B -2]

2558번 코드

 

a=int(input())
b=int(input())
print(a+b)

 

10172번 문제 [개]

10172번 코드

print('|\\_/|')
print('|q p|   /}')
print('( 0 )"""\\')
print('|"^"`    |')
print('||_/=\\\__|')

 

기존에 웹해킹 할 때 접했던 개념이다.

3번째 줄 보면 싱글쿼터 앞에 백슬래쉬가 붙어 '이 문자열로 취급이 된다.

따라서 문법 오류가 발생한다.

또 맨 마지막 줄에 백슬래쉬가 2개 연속 나와야 하므로. \\\로 추가해 준다.

 

1924번 문제 [2007년]

 

 이제야 좀 알고리즘 같은 문제가 나왔다.

간단하지만 스스로 풀어내면서, 뿌듯함을 느껴 값진 문제라 생각한다.

 

1924번 코드
a,b = map(int, input().split())
array=[1,3,5,7,8,10,12]
a+=-1
b+=-1
c=0
for i in range(a,0,-1):
    if(i in array):
        c+=31
    elif(i == 2):
        c+=28
    else:
        c+=30
c+=b
if(c%7==0):
    print('MON')
elif(c%7==1):
    print('TUE')
elif(c%7==2):
    print('WED')
elif(c%7==3):
    print('THU')
elif(c%7==4):
    print('FRI')
elif(c%7==5):
    print('SAT')
else:
    print('SUN')

길기만 하지 간단하다. 

int형 숫자를 배열에 넣고 if 구문에서 (i in array) 형식으로 조건문을 만들었다.

TIP : 숫자형을 검색할 때, 배열 형식으로 만들어 두고 , in 연산자를 사용하여 검색할 수 있다.

 

10817번 문제 [세 수]

어차피 받는 개수가 정해져 있으니, array.sort() 후 2번째 배열을 출력했다.

 

10817번 코드

a, b, c = map(int, input().split())
array= [a,b,c]

array.sort()

print(array[1])

 

TIP: array.sort() 로 정렬할 수 있다.

 

11718번 문제 [그대로 출력하기]

처음에는 좀 헤매 3줄 문장을 한 번에 입력받고 출력하는 줄 알았다.

하지만 문제는 풀리지 않았고 외부 자료를 조금 참고하였다

11718번 코드
while True:
    try:
        print(input().strip())
    except:
        break

try구문으로 공백이 들어올 때 break 함수로 나가주어야 오류가 발생하지 않는다.

 

10871번 문제 [X보다 작은 수]

이번 문제를 풀며 문법에 대해 새롭게 배웠다.

바로 코드로 알아보자.

 

10871번 코드

a, b= map(int, input().split())
c = list(map(int,input().split()))
d= ''
for i in range (a):
    if(c[i] < b):
        print(c[i], end = " ")
        
print(d)

 

TIP : list(map(int, input().split()) 으로 배열을 한 문장으로 입력받을 수 있다.

print(c[i], end =" ")으로 한 행에 결과를 띄어쓰기로 연결하여 출력해 줄 수 있다.