Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

xcc1

백준 단계별 풀이 2단계(파이썬) 본문

백준

백준 단계별 풀이 2단계(파이썬)

xcc1 2021. 8. 25. 14:40

백준 단계별 풀이 2 단계: If 문

 

  • 1330번 정답 

#입력 받은 값을 각 변수(a, b)에 저장 
a, b = map(int, input().split())



#if 문으로 각 상황마다 나오는 값 다르게 하기. 
if a > b:
    print(">")
elif a < b:
    print("<")
elif a == b:
    print("==")

 

  • 9498번 정답 

# 입력되는 값을 변수에 저장. 이때 값이 정수라는 사실을 알려야함.
grade = int(input())

#성적 부여
if grade >= 90:
	print("A")
elif grade >= 80:
	print("B")
elif grade >= 70:
	print("C")
elif grade >= 60:
	print("D")
else :
	print("F")

 

 

  • 2753번 정답

#입력된 값을 year 이라는 변수에 저장
year = int(input())

#4의 배수임을 확인하기 위해서 4로 나눈 나머지 값 저장해본다. 이 값이 0이라면 배수 ok
four = year % 4

#100의 배수임을 확인하기 위해서 100으로 나눈 나머지 값을 저장해본다. 이 값이 0이라면 배수 ok
hun = year % 100

#400의 배수임을 확인하기 위해서. 이 값이 0이라면 배수 ok
four_hun = year % 400


#윤년이면? 4의 배수  and  not 100의 배수 or 400의 배수 
if four == 0 and hun != 0 or four_hun == 0: 
	print("1")
else :
	print("0")

 

 

  • 14681번 정답 

#주어지는 값을 x, y에 저장하기. 입력이 순서대로 들어오기 때문에.
x = int(input())
y = int(input())

#x, y 모두 양수이면 1사분면. x 음수, y 양수이면 2사분면. x,y 모두 음수이면 3사분면. x 양수, y 음수이면 4사분면.
if x > 0 and y > 0 :
	print("1")
elif x < 0 and y > 0 :
	print("2")
elif x < 0  and y < 0 :
	print("3")
elif x > 0  and y < 0 :
	print("4")

 

사실 마지막 줄은 그냥 else로 써도 됩니다!

 

#주어지는 값을 x, y에 저장하기. 입력이 순서대로 들어오기 때문에.
x = int(input())
y = int(input())

#x, y 모두 양수이면 1사분면. x 음수, y 양수이면 2사분면. x,y 모두 음수이면 3사분면. x 양수, y 음수이면 4사분면.
if x > 0 and y > 0 :
	print("1")
elif x < 0 and y > 0 :
	print("2")
elif x < 0  and y < 0 :
	print("3")
else:
	print("4")

하나하나 치기 귀찮으니까.... ^^;

 

 

 

  • 2884 번 정답(?)

잘못된 답...이지만 정답은 같다고!! 

#시간을 입력받는다. 이 경우 입력이 나란히 들어오기 때문에.
H , M = map(int, input().split())

#목표는 H에 60을 곱해서 total을 만든 후 45를 빼고 다시 60으로 나눠서 몫과 나머지를 H와 M으로 분리하는 것이다. 그런데 문제는! 0시 같은 경우를 어떻게 하지? 
#방법이 없는 건 아니다! 0을 24로 바꾸면 되지 않냐?

if H == 0 :
	H += 24 

#원래의 생각대로 계산해보기
n_H = H * 60
total =  n_H + M

n_time = total - 45 


print( n_time // 60, n_time % 60)

 

이렇게 해도 나오기는 한다... 다만 if 문을 써야하기에 생각을 바꿔본다... 

 

#시간을 입력받는다. 이 경우 입력이 나란히 들어오기 때문에.
H , M = map(int, input().split())

#만약 M이 45보다 크다면 굳이 바꿀필요가 없이 M에서만 45를 빼면 되고
#45보다 작다면 H에서 1 빌려와서 빼면 된다.
#만일 H가 0이라면 그냥 24 - 1를 하고, 두번째와 같은 방법으로 45를 뺀 것이 M 이 된다. 
if M >= 45 :
	print( H , M - 45)
elif H > 0 and M < 45 :
	print(H -1 , M + 60 -45)
elif H == 0 and M < 45 : 
	print(24 - 1, M + 60- 45)

확실히 코드가 짧고 간단하긴하다. 

중복없고 메모리 차지 적은 것이 좋은 코드겟거니...

 

 

 

이렇게 백준 2단계 if문을 모두 풀어보았다. 문제풀이 + 블로그 정리까자 해서 소요된 시간은 대략 1시간이다.