
프로그래머스 문제를 풀던 중 조건에 따라 다른 결과값을 출력해야 하는 문제가 나왔습니다.
처음 생각했던 구문은 CASE 절입니다.
하지만, CASE 절을 사용해본 경험이 많지 않아서 헤깔렸고, 결국엔 공식 문서를 확인해가며 문제를 해결했습니다.
추후에도 이러한 상황이 발생하질 않기를 바라며, 이번 포스팅에서는 CASE 절에 대해서 간단하게 정리하겠습니다.
기본 구조
CASE case_value
WHEN when_value THEN statement_list
[WHEN when_value THEN statement_list] ...
[ELSE statement_list]
END CASE
또는
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
위 구조에 따라서, 프로그래머스 "조건에 부합하는 중고거래 상태 조회하기" 문제를 풀이해보겠습니다.
우선, 해당 문제의 핵심은 다음과 같습니다.
status
'SALE' -> '판매중'
'RESERVED' -> '예약중'
'DONE' -> '거래완료'
위측 왼쪽 단어가 나올 때마다, 오른쪽 출력이 나오도록 구현해야 합니다. 이를 위 기본 구조를 참고하여 처리하면, 다음과 같습니다.
CASE status
WHEN "SALE" THEN "판매중"
WHEN "RESERVED" THEN "예약중"
WHEN "DONE" THEN "거래완료"
END AS status
-- 또는
CASE
WHEN status = 'SALE' THEN '판매중'
WHEN status = 'RESERVED' THEN '예약중"
WHEN stauts = 'DONE' THEN '거래완료'
END AS status
위처럼 구현한 결과 정상적으로 처리된 결과가 출력되는 것을 확인할 수 있습니다.
