https://school.programmers.co.kr/learn/courses/30/lessons/81301?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
위와 같이 숫자의 일부분을 영어로 쓴뒤 원래의 숫자 형태로 복원하는 문제입니다.
문제를 읽은 뒤 처음 든 생각은
영어로 된 숫자가 중복으로 있을때 어떻게 알맞게 바꿀까 였습니다.
그러다 string의 replace를 사용하면 되겠다는 생각이 바로 들었고 코드를 작성하게 되었습니다.
class Solution {
public int solution(String s) {
String[] numbers = new String[]{"zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine"};
for(int i=0; i<10; i++){
if(s.contains(numbers[i])){
s = s.replace(numbers[i], Integer.toString(i));
}
}
int answer = Integer.parseInt(s);
return answer;
}
}
하지만 아직 자바를 다시 잡은지 얼마 되지 않아 어려웠던 부분은 int형태를 toString으로 바꾸는 부분이 헷갈려 오히려 이부분이 시간이 더 들었습니다.
정리하자면 String -> Integer로 변환 할때에는 Intger.toString()을 사용해야한다는 것입니다.
하지만 기억을 되살리며 감에 따라 처음에는 numbers[i].toString()을 사용하려 하는등 약간의 뻘짓을 하였습니다;;
문제를 풀며 자바에 익숙해져감이 느껴졌고 조금 더 실력이 는다면
와 같은 제한사항도 고려하여 문제를 풀어야겠다고 생각했습니다.
3번째 제한사항과 유사한 형태가 많이 나오는데
이부분은 answer가 int형이라는 것을 알 수 있는 힌트입니다.
반응형
'프로그래머스' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL 기사단원의 무기(약수 구하기) (0) | 2024.04.03 |
---|---|
99클럽 코테 스터디 5일차 TIL 피보나치수열 (0) | 2024.04.02 |
99클럽 코테 스터디 4일차 TIL 햄버거 만들기 문제(ArrayList remove vs Stack pop) (0) | 2024.04.01 |
99클럽 코테 스터디 3일차 TIL 크기가 작은 부분 문자열(int, long의 범위) (0) | 2024.03.31 |
99클럽 코테 스터디 1일차 TIL + 프로그래머스 체육복(자바) (0) | 2024.03.30 |