프로그래머스 4번 병과분류

KIMYEONGJUN·2026년 4월 29일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

퓨쳐종합병원에서는 접수한 환자가 진료받을 병과에 따라 자동으로 환자 코드를 부여해 주는 프로그램이 있습니다. 환자 코드의 마지막 네 글자를 보면 환자가 어디 병과에서 진료를 받아야 할지 알 수 있습니다. 예를 들어 환자의 코드가 "_eye"로 끝난다면 안과를, "head"로 끝난다면 신경외과 진료를 보게 됩니다. 환자 코드의 마지막 글자에 따른 병과 분류 기준은 다음과 같습니다.

마지막 글자	병과
"_eye"	"Ophthalmologyc"
"head"	"Neurosurgery"
"infl"	"Orthopedics"
"skin"	"Dermatology"
환자의 코드를 나타내는 문자열 code를 입력받아 위 표에 맞는 병과를 출력하도록 빈칸을 채워 코드를 완성해 주세요. 위 표의 단어로 끝나지 않는다면 "direct recommendation"를 출력합니다.

내가 이 문제를 보고 생각해본 부분

String lastFourWords = code.substring(code.length() - 4);
code 문자열의 끝에서 4글자를 가져온다.
if문을 통해 lastFourWords가 각각 "_eye", "head", "infl", "skin"과 정확히 일치하는지 비교한다.
일치하는 경우 각 병과의 영문명을 출력한다.
어느 조건과도 맞지 않으면 "direct recommendation"을 출력한다.
중괄호 {}와 조건문의 형식 오류를 수정하여 올바른 자바 문법을 사용했다.

코드로 구현

package programmers;

import java.util.Scanner;

// 프로그래머스 4번 병과분류
public class Main4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String code = sc.next();
        String lastFourWords = code.substring(code.length() - 4);

        if (lastFourWords.equals("_eye")) {
            System.out.println("Ophthalmologyc");
        } else if (lastFourWords.equals("head")) {
            System.out.println("Neurosurgery");
        } else if (lastFourWords.equals("infl")) {
            System.out.println("Orthopedics");
        } else if (lastFourWords.equals("skin")) {
            System.out.println("Dermatology");
        } else {
            System.out.println("direct recommendation");
        }
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글