https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

 

하드코딩..

단순하게 for문으로 문자열 검색하면서 one은 1, two는 2..... zero는 0으로 치환 후 string s 변수에 저장

stoi로 형변환 후 출력

int solution(string s) {
	int answer = 0;
	string result="";
	for (int i = 0; i < s.size();i++) {
		if (s[i] == 'o') {
			result.push_back('1');
			i += 2;
		}
		else if (s[i] == 't') {
			if (s[i+1] == 'w') {
				result.push_back('2');
				i += 2;
			}
				
			else {
				result.push_back('3');
				i += 4;
			}
		}
		else if (s[i] == 'f') {
			if (s[i+1] == 'o')
				result.push_back('4');
			else 
				result.push_back('5');
			i += 3;
		}
		else if (s[i] == 's') {
			if (s[i+1] == 'i') {
				result.push_back('6');
				i += 2;
			}

			else {
				result.push_back('7');
				i += 4;
			}
		}
		else if (s[i] == 'e') {
			result.push_back('8');
			i += 4;
		}
		else if (s[i] == 'n') {
			result.push_back('9');
			i += 3;
		}
		else if (s[i] == 'z') {
			result.push_back('0');
			i += 3;
		}
		else {
			result.push_back(s[i]);
		}

	}
	answer = stoi(result);
	return answer;
}

+ Recent posts