문제
2021 카카오 채용형 인턴쉽 선발 문제.
해시알고리즘을 통해 특정 문자열이 나오면 해당하는 숫자를 정답문자열에 넣는 형식으로
알고리즘을 짰다.
def solution(s):
answer = ''
temp = '' # 영단어 저장을 위한
dict = { # 해시알고리즘을 위한 딕셔너리 선언
'zero':'0',
'one':'1',
'two':'2',
'three':'3',
'four':'4',
'five':'5',
'six':'6',
'seven':'7',
'eight':'8',
'nine':'9'
}
for i in s:
if i in '0123456789': # 숫자가 나오면 정답에 바로 넣어줌
answer += i
else:
temp += i
if temp in dict: # 쌓여있는 문자열이 dict 안에 있는 경우
answer += dict[temp] # 그에 해당하는 숫자 정답에 넣고 temp 초기화
temp=''
return int(answer)
const solution = (s) => {
let answer = "";
let temp = "";
const dict = {
zero: "0",
one: "1",
two: "2",
three: "3",
four: "4",
five: "5",
six: "6",
seven: "7",
eight: "8",
nine: "9",
};
for (let x of s) {
if ("0123456789".includes(x)) {
answer += x;
} else {
temp += x;
}
if (temp in dict) {
answer += dict[temp];
temp = "";
}
}
return Number(answer);
};