본문 바로가기

PS/백준

[BOJ] 백준 25206 너의 평점은 (Swift)

반응형

문제

https://www.acmicpc.net/problem/25206

 

25206번: 너의 평점은

인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치

www.acmicpc.net

풀이

등급과 과목 평점을 어떻게 매치시켜줄 수 있을까요?
Swift에서는 Dictionaryenum을 사용할 수 있습니다.

Dictionary를 [String: Double] 과 같은 자료형으로 나타내어
[A+: 4.5, A0: 4.0, ... F: 0] 과 같이 나타내어 매칭시킬 수 있습니다.

enum을 사용하면 case ap = 4.5, a = 4.0 ... f = 0 과 같이 enum의 원시값을 Double로 사용하여 나타낼 수 있습니다.
초기화시 String을 받아서 switch case문을 사용해 원하는 case와 같이 매칭시킬 수 있습니다.

아니면, if문을 사용하여서도 해결할 수 있지만 위 두 방법이 더 직관적이라고 생각합니다.

입력의 과목명은 필요하지 않고, 학점과 등급만을 가지고 풀이할 수 있습니다.

저는 enum과 Dictionary 두 가지 방법으로 풀이해보았습니다.

소스코드

후기

등급과 과목 평점을 매치해준다면 쉽게 풀 수 있는 문제입니다.
if ~ else 문과 같은 조건문을 사용하여도 풀 수 있지만,
Enum과 Dictionary를 사용하는 것이 좋아보입니다.

반응형