참치코더의 꿈 메모장

알고리즘 69일차 - 프로그래머스 기출 문제(JAVA) / 숫자 문자열과 영단어 본문

잡다한 웹지식

알고리즘 69일차 - 프로그래머스 기출 문제(JAVA) / 숫자 문자열과 영단어

참치깡 2025. 7. 9. 13:44
728x90

전체 코드 부분

 

- String s 매개변수로 들어온 문자열을 숫자는 숫자로 영어로 되어있는 숫자는 다시 숫자로 변환해서 반환하는 문제이다.

- (Map을 사용하는것 Stream을 사용하는 방법도 있는거 같은데, 이해가 빠른건 Map 컬렉션 쪽이었다.)

 

- map을 문자열로만 생성하고 해당 숫자에 해당하는 영어문자를 put해준다.

- 그 이후 StringBuilder메서드가 문자열 파악에 성능이 더 좋기 때문에 해당 StringBuilder 메서드를 선언 한 후 

- for-each문을 사용해 해당 문자열을 (s.toCharArray) 1글자씩 배열 형식으로 만든 후에 해당 문자열을 대입시킨다.

 

- 만약 (Character.isDigit) ch 문자가 숫자라면 result 값에 바로 숫자로 추가가 되고 

- 문자라면 임시 저장 문자열 temp에 ch가 추가가 되고 해당 문자열을 (map.containsKey)를 하여 해당 문자열을 

  가진 키가 존재하는지 확인을 한다. (해당 문자열이 존재한다면 result값에 map에 해당 하는 value을 찾아서 추가!)

 

- 마지막으로 해당값이 StringBuilder 값으로 이루어져 있으므로, .toString()을 통해서 문자열로 변환 후

  문제에서 주어진 answer 반환이 Int 값으로 되어있으므로 Integer.parseInt()를 사용하면 정답을 얻을 수 있다. ^^

 

https://school.programmers.co.kr/questions/89320

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

거북거북이

728x90
Comments