본문 바로가기
IT관련 공부/백준(BaekJoon)

1330번, 9498번, 2753번

by 행복한 위드 2022. 10. 14.

1330번

오늘도 열심히 하루에 한두문제 씩은 풀고 올릴려고 노력한다.

문제를 보면 간단한 문제이다. A와 B를 입력받고 두 수의 크기를 비교하는 문제

A, B = input().split()

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

이렇게 하면 될 것 같죠? 안됩니다. input의 자료형을 int가 아닌 string으로 받았기 때문인데요.

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

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

요렇게 바꾸면 int형으로 받아 정상적으로 출력이 되는 것을 볼 수 있습니다!

 

9498번

요것도 위와 비슷한 문제입니다.

A = int(input())

if A >= 90:
    print("A")
elif A >= 80:
    print("B")
elif A >= 70:
    print("C")
elif A >= 60:
    print("D")
else:
    print("F")

if문을 써서 90이상일 경우 그다음은 80이상인 경우를 해서 처리하였습니다.

그런데 문제를 보면 100까지 숫자니깐 만약 101이 입력되면 A라고 출력이 되겠죠? 

그래서 A의 값이 100이 넘어가면 F를 출력되게 해봅시다.

A = int(input())

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

요렇게 A의 값이 90보다 크고 100보다 작다 그럴경우 A를 출력한다 를 볼 수 있습니다.

 

2753번

윤년 구하기 문제입니다.

이문제 대학교 1학년 때 중간고사 시험으로 나왔던 기억이 나네요.

그때는 어설프게라도 간신히 풀어 냈었는데 지금은 간단하게 풀 수 있는게 제가 발전했다는게 증거겠죠:)

A = int(input())

if A%4 == 0:
    if A%100 != 0:
        print("1")    
    elif A%400 == 0:
        print("1")
    else:
        print("0")
else:
    print("0")

이렇게 A는 4의 배수일때를 구하는 방법은 A를 4로 나누었을 때 나머지가 0이면 4의 배수라고 볼 수 있겠죠

그다음도 마찬가지로 100으로 나누었을때 나머지 값이 0이 아니다 라는것은 100의 배수가 아니다 라고 볼 수 있습니다.

400으로 나눴을때는 400의 배수일 때를 나타내는 거구요

그런데 이렇게 if문을 두번 쓸 필요가 있을까요?

보기에 조금 불편해서 바꿔 봤습니다.

A = int(input())

if A%4 == 0:
    if A%100 != 0 or A%400 == 0:
        print("1")    
    else:
        print("0")
else:
    print("0")

요렇게 한줄로 말이죠 or 은 "또는" 이라는 뜻을 가지고 있습니다. 둘중 하나만 맞아도 출력하는 것이죠

예를 들어 A가 참이고 B가 참이면 참을 출력합니다.

A가 참이고 B가 거짓이여도 참을 출력하고 반대도 마찬가지 입니다.

하지만 A가 거짓이고  B가 거짓이면 거짓을 출력하는 비트연산자 입니다.

이 부분도 나중에 제가 Python 부분에 올릴 예정이니 우선은 문제 부분을 보고 이해하셨으면 좋겠습니다.

 

궁금한 점이나 피드백은 언제나 환영해요!

'IT관련 공부 > 백준(BaekJoon)' 카테고리의 다른 글

2480번  (0) 2023.01.13
14681번, 2884번, 2525번  (0) 2022.10.21
10171번, 10172번, 25083번  (0) 2022.10.12
10430번, 2588번  (0) 2022.10.12
10926번, 18108번, 3003번  (0) 2022.10.12