본문 바로가기

Study Log/알고리즘

[알고리즘] 백준 단계별 2단계 - if문 5문제

728x90

사용언어 : python

1 1330 두 수 비교하기 51.331%
두 수를 비교한 결과를 출력하는 문제
2 9498 시험 성적 57.136%
시험 점수를 성적으로 바꾸는 문제
3 2753 윤년 54.467%
윤년을 판별하는 문제
4 146811 사분면 고르기 64.172%
점이 어느 사분면에 있는지 알아내는 문제
5 2884 알람 시계 39.026%
시간 뺄셈 문제

#1330번 문제 (51.331%)

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

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

if -10000<= a <= 10000 and -10000 <=b<=10000 :
    if a > b :
        print(">")
    elif a < b :
        print("<")
    elif a == b :
        print("==")

제한되어있던 수 범위까지 추가하여 작성 완료~

파이썬에서는 else if 를 elif 로 쓴다는거 !


#9498번 문제 (57.136%)

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

a = int(int(input())/10)
if a >= 9 :
    print("A")
elif a == 8 : 
    print("B")
elif a == 7 :
    print("C")
elif a == 6 :
    print("D")
else : 
    print("F")

 

ㅋㅋㅋ 옛날에 c언어 수업때 많이 하던건데 역시 코드 짜는건 파이썬이 가장 쉽군,

이번에는 10의 자리수를 비교해서 채점하는 형태로 코딩해봤다


 #2753번 문제 (54.467%)

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

year = int(input())
if (year%4 ==0 and year%100 != 0) or year%400 == 0 :
    print(1)
else :
    print(0)

윤년문제 옛날에 엄청 싫어했었는데

이걸 다시 볼줄이야 ㅋㅋㅋ

 


 #14681번 문제 (64.174%)

흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.

예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.

점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.

 

x = int(input())
y = int(input())

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")

며칠전에 사분면 +- 헷갈렸었는데

이렇게 다시 본다구요? ㅇㅋ~~~ 그냥 if 문 문제 답게 if문으로 다 처리해부렀당

아 근데 이거 이상한 짓좀 했는데ㅋㅋㅋㅋ

 

 

>,< 오타난줄 모르고 계속 왜틀리지 하다가 이상한 짓해서 계속 틀림 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

에라이 ㅠㅜㅜㅜ 시간아까워 ㅠ


#2884번 문제 (39.019%)

상근이는 매일 아침 알람을 듣고 일어난다.

알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다.

상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.

이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.

바로 "45분 일찍 알람 설정하기"이다.

이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다.

어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다.

이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.

현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면,

이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

 

hour,minute = map(int,input().split())

#45분 일찍 맞추기

minute = minute-45
if minute < 0 :
    minute =  60 + minute
    hour = hour-1
    if hour < 0 :
        hour = hour + 24
print(hour,minute)

마지막 문제 진짜 흥미로웠다!!ㅋㅋㅋ

예제로 10시 10분 / 0시 30분 / 23시 40분 

이렇게 테스트 했는데 이런 문제 내기위해서 검증할 수 있는 문제 만드는 것도 생각해야할것같구

24시 60분을 고려하는 방법이 진짜 다양할 것 같다는 생각이 많이 들었다 !

 

 

이렇게 If 문 문항 끝 ..

생각보다 오래걸렸다 ㅋㅋㅋ ㅜㅜㅜ

반응형