오늘은 이전 포스팅 2024.10.27 - [알고리즘/프로그래머스] - 프로그래머스 - [PCCE 기출문제] 3번 / 수 나누기 C++
에 이어 4번 문제를 풀어보았다. 3번 문제보다 헷갈릴 케이스는 적은 문제이며, 빈칸 채우기가 아니라 기초 문제로 분류하여 그냥 작성해서 내는 문제여도 좋았을 것 같다.
.
알고리즘 난이도 및 시간 ( ※ 개인적인 의견 )
- 난이도 : Level 0 ( ※ Min : 0, Max : 10 )
- 풀이 시간 : 1분
- 제출 횟수 : 1번
- 풀이 결과 : Pass
문제 설명
PCCE 기출문제 중 처음으로 문제를 읽을 때 시간을 요하는 문제였다. 하지만 해석에 어려움은 전혀 없다. 그냥 표하나 만 보고 문제를 풀어도 된다. 쉽게 얘기하면 입력받은 문자에 마지막 4글자 단어만 확인 후 병과를 분류하는 것이다.
code도 소문자라고 친절하게 알려주었기 때문에 대소문자 구분도 필요 없는 문제다. 또한 4 <=라는 말은 nullptr을 신경 쓰지 않고 마지막 4자리를 잘라서 사용하면 된다.
문제풀이
예시 코드를 보면 이미 4자리를 자르는 구현은 되어 있다. substr을 사용하여 자르고 있기 때문이다. substr 사용법은 아래와 같다.
- substr(문자열 시작 위치, 자르고자 하는 길이 )
또한, switch문을 사용하여도 되지만 문제는 if문을 요구하는 문제로 그냥 도표에 맞는 문자열을 빈칸에 기재하면 되는 문제다.
#include <iostream>
using namespace std;
int main(void) {
string code;
cin >> code;
string last_four_words = code.substr(code.size()-4, 4);
if(last_four_words == "_eye"){
cout << "Ophthalmologyc";
}
else if(last_four_words == "head"){
cout << "Neurosurgery";
}
else if(last_four_words == "infl"){
cout << "Orthopedics";
}
else if( last_four_words == "skin"){
cout << "Dermatology";
}
else{
cout << "direct recommendation";
}
return 0;
}
나였으면 좋은 스관을 길러지기 위해 변수를 오른쪽에 비교 문자를 왼쪽에 위치하게 문제를 냈을 것 같은데, 다음부터는 그런 것도 고려하여 문제를 내면 좋을 것 같다. ( ※ 만약 신입 개발자 코딩 문제라면, 풀이 때 왼쪽에 있는 이유가 무엇일 것 같은지 또한 묻는다면 기초 지식을 파악하기 좋을 것 같다. )
결과
문제 링크 : 코딩테스트 연습 - [PCCE 기출문제] 4번 / 병과분류 | 프로그래머스 스쿨
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - [PCCE 기출문제] 6번 / 물 부족 C++ (1) | 2024.11.14 |
---|---|
프로그래머스 - [PCCE 기출문제] 5번 / 심폐소생 C++ (2) | 2024.11.14 |
프로그래머스 - [PCCE 기출문제] 3번 / 수 나누기 C++ (0) | 2024.10.27 |
프로그래머스 - [PCCE 기출문제] 2번 / 각도 합치기 C++ (2) | 2024.10.19 |
프로그래머스 - [PCCE 기출문제] 1번 / 문자 출력 C++ (0) | 2024.10.19 |