728x90
반응형
안녕하세요. BOJ 1330번 : 두 수 비교하기에서는 조건문을 통해 문제를 해결해보았습니다. 중요한 점은 if문, elif문, else문을 적절하게 활용하는 것 이였습니다. 오늘도 조건문을 활용해서 문제를 풀어보도록 하겠습니다. 다만, 지난 포스팅의 문제보다 더 많은 조건문을 써야한다는 것을 제외하고는 쉽게 풀 수 있습니다.
핵심 포인트
- 조건문
- 조건문의 성질 : if문의 조건이 만족하지 않을 때 다음 조건문에서는 이전 조건문을 고려하지 않아도 된다.
문제에서는 90점 이상이면 "A", 80점 이상이면 "B", 70점 이상이면 "C", 60점 이상이면 "D", 59점 아래부터는 "F"를 출력하라고 하였습니다. 아마도 몇몇 분들은 아래와 같은 논리 연산자인 and를 활용하여 풀었을 겁니다. 여기서 and 연산자란 두 개의 불(bool) 자료형(True 또는 False 만을 가지는 자료형)이 모두 True 일 때 True를 반환하는 연산입니다.
score = int(input())
if score >= 90 :
print("A")
elif score >= 80 and score < 90 :
print("B")
elif score >= 70 and score < 80 :
print("C")
elif score >= 60 and score < 70 :
print("D")
else :
print("F")
위와 같이 풀 수도 있지만, 조건문의 특성을 좀 더 이해하셨다면 더 짧은 코드로 작성할 수 있습니다. 조건문에서 만약 if문의 조건이 만족하면 해당 명령어를 실행하게 됩니다. 그런데 if문의 조건문이 만족하지 않는다면 다음 조건문인 elif문으로 이동한다고 하였습니다. 따라서, if문의 조건은 자동으로 제거되는 것이기 때문에 위 코드에서 첫번째 elif문으로 들어갈 때는 이미 90이상의 점수는 고려하지 않아도 됩니다. 이는 그 아래의 elif문에도 해당되는 것입니다. 따라서, 더 간단하게 아래와 같이 쓸 수 있겠죠.
score = int(input())
if score >= 90 :
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else :
print("F")
참고자료 및 그림출처
728x90
반응형
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 14681번 : 사분면 고르기 (0) | 2022.06.01 |
---|---|
BOJ 2753번 : 윤년 (0) | 2022.05.31 |
BOJ 1330번 : 두 수 비교하기 (0) | 2022.05.31 |
BOJ 2588번 : 곱셈 (0) | 2022.05.31 |
BOJ 10430번 : 나머지 (0) | 2022.05.31 |