Step-by-Step

[Java] 프로그래머스 - 숫자 문자열과 영단어 본문

언어/JAVA

[Java] 프로그래머스 - 숫자 문자열과 영단어

희주(KHJ) 2022. 5. 5. 14:06

https://programmers.co.kr/learn/courses/30/lessons/81301?language=java 

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

다음과 같이 영어로된 숫자를 아라비아 숫자로 바꾼 후 Int 형태로 반환하는 함수를 만드는 것이다.

 

[코드]

코드는 replace()를 이용하였고, 문제가 될까봐 일단 지웠다!

 

String에는 특정 문자열을 다른 문자열로 바꿔주는 replace()라는 좋은 함수가 있다. 

대표적인 3가지를 

1. replace

public String replace(CharSequence target,
             CharSequence replacement)

- 바꿀 문자열 대상(target)과 바꿀 문자열(replacement)를 넣어주면 된다

2. replaceFirst

public String replaceFirst(String regex,
                  String replacement)

- 바꾸고 싶은 대상을 처음 찾을때만 바꿔준다

3. replaceAll

public String replaceAll(String regex,
                String replacement)

- 자신이 바꾸고싶은 문자로 문자열을 전부 치환시켜준다

- replace와 비슷해보이는데, 첫 번째 인자인 regex의 설명을 보면,

  regex : the regular expression to which this string is to be matched으로, 정규식이 들어간다

 

만약 "0123456789"에서 숫자들을 모두 "num"으로 바꾸고 싶을 때,

replace는 s.replace("0","num").replace("1","num")..... 이런식으로 지정해줘야 하지만,

replaceAll은 s.replace(["[0-9]", "num") 이런식으로 첫 번째 인자에 형식에 맞는 정규식을 넣어주면 된다

 

  

[참조]

https://docs.oracle.com/javase/7/docs/api/

 

Java Platform SE 7

 

docs.oracle.com

https://coding-factory.tistory.com/128

 

[Java] 문자열 치환(Replace) 사용법 & 예제

String변수나 배열 같은 곳에 많은 양의 데이터들이 들어가 있을 경우 자신이 바꾸고자 하는 값만 골라서 바꾸기란 쉽지 않습니다. 이럴 때 유용하게 쓰일 수 있는 함수가 바로 Replace함수입니다.

coding-factory.tistory.com

https://djusti.tistory.com/8

 

java replace 와 replaceAll 차이점에 대해 자세히 알아보자

안녕하세요. 자바에는 문자열을 변환할수 있는 메소드들이 있습니다. 메소드명을 보시면 대충 감이 오실텐데요. 오늘은 replace, replaceAll 두가지 메소드에 대해 자세히 알아보겠습니다. 먼저 사용

djusti.tistory.com

 

Comments