본문 바로가기
Coding Test/Java Coding Test

[프로그래머스 / 자바] - PCCE 기출문제 4번 병과분류

by nam_ji 2024. 9. 22.

PCCE 기출문제 4번 병과분류 - LV.0

문제

  • 퓨쳐종합병원에서는 접수한 환자가 진료받을 병과에 따라 자동으로 환자 코드를 부여해 주는 프로그램이 있습니다.
  • 환자 코드의 마지막 네 글자를 보면 환자가 어디 병과에서 진료를 받아야 할지 알 수 있습니다.
  • 예를 들어 환자의 코드가 "_eye"로 끝난다면 안과를, "head"로 끝난다면 신경외과 진료를 보게 됩니다.
  • 환자 코드의 마지막 글자에 따른 병과 분류 기준은 다음과 같습니다.
    • 마지막 글자 병과
      "_eye" "Ophthalmologyc"
      "head" "Neurosurgery"
      "infl" "Orthopedics"
      "skin" "Dermatology"
  • 환자의 코드를 나타내는 문자열 code를 입력받아 위 표에 맞는 병과를 출력하도록 빈칸을 채워 코드를 완성해 주세요.
  • 위 표의 단어로 끝나지 않는다면 "direct recommendation"를 출력합니다.


테스트 (인텔리제이)

  • 마지막 네글자를 보고 병과를 분류하기 떄문에 문제의 병과들을 확인하고 if문 각각의 조건은 출력되는 병과에 맞게 해당 문자열을 입력해주면 됩니다.
  • 첫 번째 출력되는 병과는 _eye와 일치하기 때문에 _eye를 두 번째는 head와 일치하기 때문에 head를 이런식으로 나머지도 입력해주시면 되고,
  • 마지막은 주어진 표에 해당하는 값이 없어 별다른 조건 없이 else문을 넣어주면 됩니다.
package com.namji.codingtestpcce;

import java.util.Scanner;

public class PCCE_기출문제_4번_병과분류 {
  public static void main(String[] args) {
    /*
    퓨쳐종합병원에서는 접수한 환자가 진료받을 병과에 따라 자동으로 환자 코드를 부여해 주는 프로그램이 있습니다.
    환자 코드의 마지막 네 글자를 보면 환자가 어디 병과에서 진료를 받아야 할지 알 수 있습니다.
    예를 들어 환자의 코드가 "_eye"로 끝난다면 안과를, "head"로 끝난다면 신경외과 진료를 보게 됩니다.
    환자 코드의 마지막 글자에 따른 병과 분류 기준은 다음과 같습니다.
    마지막 글자	  병과
    "_eye"	    "Ophthalmologyc"
    "head"	    "Neurosurgery"
    "infl"	    "Orthopedics"
    "skin"	    "Dermatology"
    환자의 코드를 나타내는 문자열 code를 입력받아 위 표에 맞는 병과를 출력하도록 빈칸을 채워 코드를 완성해 주세요.
    위 표의 단어로 끝나지 않는다면 "direct recommendation"를 출력합니다.

    제한사항
    4 ≤ code의 길이 ≤ 20
    code는 영어 소문자와 숫자, 언더바("_")로 이루어져 있습니다.

    입출력 예
    입력 #1
    dry_eye
    출력 #1
    Ophthalmologyc
    입력 #2
    pat23_08_20_head
    출력 #2
    Neurosurgery

    입출력 설명
    #1
    code가 "_eye"로 끝나기 때문에 "Ophthalmologyc"를 출력합니다.
    #2
    code가 "head"로 끝나기 때문에 "Neurosurgery"를 출력합니다.
     */
    Scanner sc = new Scanner(System.in);
    String code = sc.next();
    String lastFourWords = code.substring(code.length()-4, code.length());

    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");
    }
  }
}

프로그래머스 코드

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String code = sc.next();
        String lastFourWords = code.substring(code.length()-4, code.length());

        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");
        }
    }
}