250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Navigation
- drift
- textfield
- Coroutines
- intent
- DART
- livedata
- TEST
- appbar
- activity
- Compose
- scroll
- textview
- Flutter
- Dialog
- 안드로이드
- 테스트
- binding
- ScrollView
- Kotlin
- tabbar
- CustomScrollView
- Button
- LifeCycle
- 계측
- 앱
- android
- viewmodel
- 앱바
- data
Archives
- Today
- Total
Study Record
[프로그래머스] Level1 - 숫자 문자열과 영단어 본문
728x90
#include <string>
#include <vector>
using namespace std;
string getString(string str, int start, int count){
string return_str = "";
for(int i=0; i<count; i++) return_str += str[i + start];
return return_str;
}
int solution(string s) {
int answer = 0;
string numText[] = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
string numStr = "";
for (int i = 0; i < s.length(); i++) {
if (s[i] >= '0' && s[i] <= '9') {
numStr += s[i];
continue;
}
else {
for (int k = 0; k <= 9; k++) {
int numTextLen = numText[k].length();
if (getString(s, i, numTextLen) == numText[k]) {
int num = '0' + k;
numStr += num;
i = i + numTextLen - 1;
break;
}
}
}
}
int dec = 1;
for (int i = 1; i <= numStr.length(); i++) {
int index = numStr.length() - i;
int number = numStr[index] - '0';
answer += dec * number;
dec *= 10;
}
return answer;
}
728x90
'알고리즘' 카테고리의 다른 글
[프로그래머스] Level2 - 오픈채팅방 (0) | 2021.12.01 |
---|---|
[프로그래머스] Level1 - 키패드 누르기 (0) | 2021.12.01 |
[프로그래머스] Level2 - 문자열 압축 (0) | 2021.11.30 |
[프로그래머스] Level1 - 신규 아이디 (0) | 2021.11.30 |
[프로그래머스] Level1 - 로또의 최고 순위와 최저 순위 (0) | 2021.11.30 |