728x90
문제
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
시험 성적을 출력한다.
예제 입력 1 복사
100
예제 출력 1 복사
A
답
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')
풀이
score = int(input())
우선 입력받는 숫자는 문자열로 입력되기 때문에 int 함수를 이용해서 정수로 변환하여 변수에 선언한다. 시험 점수이기 때문에 변수 이름은 score로 정해보았다.
삼항 연산자 풀이
if조건식은 삼항 연산자를 사용하여 한 줄로 표현하는 것이 가능한데 조건식이 여러 개인 경우 중첩된 삼항 연산자를 작성하여야 해서 가독성을 해치게 될 수가 있다. 이번 문제도 삼항 연산자를 작성해 보았는데 문장이 너무 길어져서 if - elif - else 조건식에 비해서 좋지 않다는 느낌을 받았다. 코드는 아래와 같다.
print('A') if score >= 90 else print('B') if score >= 80 else print('C') if score >= 70 else print('D') if score >= 60 else print('F')
728x90
'CodingTest > [Baekjoon Online Judge]' 카테고리의 다른 글
백준 11654번 [파이썬] 아스키코드 (0) | 2023.03.23 |
---|---|
백준 2753번 [파이썬] 윤년 (0) | 2023.03.08 |
백준 1330번 [파이썬] 두 수 비교하기 (0) | 2023.03.08 |
백준 10172번 [파이썬] 개 (0) | 2023.03.07 |
백준 10171번 [파이썬] 고양이 (0) | 2023.03.07 |