반응형
문제
https://www.acmicpc.net/problem/25206
풀이
등급과 과목 평점을 어떻게 매치시켜줄 수 있을까요?
Swift에서는 Dictionary나 enum을 사용할 수 있습니다.
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를 사용하는 것이 좋아보입니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 5086 배수와 약수 (Swift) (0) | 2023.03.03 |
---|---|
[BOJ] 백준 10798 세로읽기 (Swift) (2) | 2023.03.03 |
[BOJ] 백준 10988 팰린드롬인지 확인하기 (Swift) (0) | 2023.03.03 |
[BOJ] 백준 10812 바구니 순서 바꾸기 (Swift) (0) | 2023.03.03 |
[BOJ] 백준 2444 별 찍기 - 7 (Swift) (2) | 2023.03.03 |