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 |
Tags
- aws#멘땅의헤딩#
- 인바운드 규칙
- 숫자 문자열과 영단어
- 보안그룹
- 인스턴스 생성
- Cloudtrail
- timed out
- 완주하지 못한 선수
- 코딩테스트
- AWS 기초자격증
- The Network Adapter could not establish the connection
- Organozations
- 이클립스 에러
- AWS 모니터링 및 분석 서비스
- The virtual machine was unable to remove all stack frames running old code from the call stack
- rds
- aws
- 신규 아이디 추천
- oracle
- Auraro
- EC2
- sql developer
- aws#aws기초자격증#EBS#S3#EFS
- list map 차이
- Trusted Advisor
- 프리티어
- gitalb
- 인스턴스 연결
- aws#키페어
- cloudWatch
Archives
- Today
- Total
시작하기, 뭐든
코딩테스트 뿌시기 2 - 2021 카카오 채용연계형 인턴십 숫자 문자열과 영단어 풀이 본문
시작하기, 뭐든 - 기록 17일차
오늘 풀어본 문제는 2021 카카오 채용연계형 인턴십 숫자 문자열과 영단어 문제였다.
어제 풀었던 신규 아이디 추천과 같은 레벨1 이었는데, 레벨1도 차이가 심한가보다 싶은 문제였다.
생각보다 빠르게 문제를 풀 수 있었는데, 다른 사람의 풀이를 보니...!
진짜 매력적인 코드를 짜는 사람이 이렇게나 많구나 싶었다. 그래서 오늘도 후다닥 포스팅을 쓰러 왔다!
문제는 매우 간단했다.
영어숫자 문자열과 영단어로된 부분을 숫자로 바꾸면 끝!
제시어 | 출력값 |
"one4seveneight" | 1478 |
"23four5six7" | 234567 |
"2three45sixseven" | 234567 |
"123" | 123 |
일단 초등학생도 한번에 알아볼 수 있는...매우 단순한 나의 코드를 보자.
class Solution {
public int solution(String s) {
int answer = 0;
s= s.replace("zero", "0");
s= s.replace("one", "1");
s= s.replace("two", "2");
s= s.replace("three", "3");
s= s.replace("four", "4");
s= s.replace("five", "5");
s= s.replace("six", "6");
s= s.replace("seven", "7");
s= s.replace("eight", "8");
s= s.replace("nine", "9");
answer = Integer.parseInt(s);
return answer;
}
}
솔직히 어제 너무 맘에 들었던 replaceAll()에서 빠져나오지 못해서 그런가..... 죄다 replace를 시켜버렸다.
한마디로 노가다.
물론, 결과는 똑같다.
replace하려는 문자가 있으면 바꾸고 없으면 안바꿀테니 원하는 값을 얻을 수 있다.
하지만!
정말정말정말 비교도 안될 정도로 깔끔하고 매력적인 풀이를 찾았다!
class Solution {
public int solution(String s) {
int answer = 0;
String[] char_number = {"zero","one","two","three","four","five","six","seven","eight","nine"};
for(int i=0; i<char_number.length; i++) {
s=s.replace(char_number[i], Integer.toString(i));
}
answer = Integer.parseInt(s);
return answer;
}
}
replace 시킬 단어들을 String 배열에 만들어두고 for문을 돌려서 하나씩 찾아서 바꾸는데..!
너무 마음에 들었던건 바꾸는 숫자도 for에 쓰이는 숫자를 쓴것!
바로 따라서 풀어봤다.
역시 단순한 문제도 최적화에 따라서 레벨이 또 나뉘는거 같다.
단순한 문제였을지라도, 코드를 어떻게 짜야하는지 배울 수 있는 시간이였다.
역시 뭐든! 시작하면 더 나은 내일이 있다!
끝!
'코딩테스트' 카테고리의 다른 글
프로그래머스 - 해시 완주하지 못한 선수 풀이(ArrayList를 이용한 풀이와 HashMap을 이용한 풀이 차이점) (0) | 2022.01.11 |
---|---|
코딩테스트 뿌시기 4 - 월간 코드 챌린지 시즌3 없는 숫자 더하기 풀이 (0) | 2022.01.10 |
코딩테스트 뿌시기3 - (JAVA)2019 카카오 개발자 겨울 인턴십크레인 인형뽑기 게임 풀이 (0) | 2022.01.08 |
프로그래머스 - 2020 카카오 인턴십 키패드 누르기 해설 및 답안 정리 (0) | 2022.01.06 |
코딩테스트 뿌시기 1 - 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천(정규식을 이용한 풀이) (0) | 2022.01.04 |
Comments