일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CU
- 북클럽
- transaction
- 노개북
- Python
- memcached
- Race Condition
- 사업
- Watcha pedia
- 재태크
- iamport
- trouble shooting
- restful
- 노마드코더
- 레일즈
- Cache
- 투자
- 아임포트
- redis
- 주식
- redis transaction
- API
- django
- Rails
- HTTP
- rails cache
- 경제
- 레일즈 캐시
- 노마드코드
- Today
- Total
Stay hungry, Stay foolish
(lv.1) 숫자 문자열과 영단어 본문
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
- 1478 → "one4seveneight"
- 234567 → "23four5six7"
- 10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.
숫자영단어
0 | zero |
1 | one |
2 | two |
3 | three |
4 | four |
5 | five |
6 | six |
7 | seven |
8 | eight |
9 | nine |
제한사항
- 1 ≤ s의 길이 ≤ 50
- s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다.
- return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다.
입출력 예
sresult
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
내 풀이
def solution(s)
eng_to_num =
{ zero: "0",
one: "1",
two: "2",
three: "3",
four: "4",
five: "5",
six: "6",
seven: "7",
eight: "8",
nine: "9" }
eng_to_num.each do |k, v|
k = k.to_s
while s.include?(k)
s[k] = v
end
end
return s.to_i
end
후... tistory 코드 블럭에 ruby 는 지원도 안되는구나...??? 넘나 슬픈것
원래는 while 문 없이 if 문으로 조건 판별해서 tr_s("str_1", "str_2") 라는 method 가 있길래 사용해봤는데
tr_s method 는 적절 치 않았던게
"abc", "123" 이라는 arg 를 부여해주면 aqwebec -> 1qwe2e3 처럼 index를 매칭해서 변경시키는 함수였다...
그래서 if 문과 s[k]를 했는데 s = "sixsix" 같이 중복되는 부분에서 1회만 검증하고 넘어가는게 문제
따라서 마음이 불편 하지만 while 문을 사용해줬다.
근데 다른 사람들 풀이 보니 전부 gsub 을 통해 해주었더라.. 정작 회사에서는 gsub 으로 코드 많이 짜여있는데 여기선 생각을 안했다
https://programmers.co.kr/learn/courses/30/lessons/81301?language=ruby#
코딩테스트 연습 - 숫자 문자열과 영단어
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자
programmers.co.kr
'알고리즘, 자료구조' 카테고리의 다른 글
[codility] MaxCounters (0) | 2022.10.18 |
---|