오늘 ONEUL
오늘의 개발
오늘 ONEUL
전체 방문자
오늘
어제
  • 오늘의 개발 (248)
    • 📝 TIL (121)
    • 💡 Projects (6)
      • 드로잉 게임 [눈치 코치 캐치!] (4)
      • 익명고민상담소 [대나무숲] (2)
    • 🌎 Web (47)
      • Spring (3)
      • Java (14)
      • JavaScript (16)
      • CSS (10)
      • HTML (4)
    • 📚 Database (7)
    • 👾 Trouble Shooting (3)
    • 📊 Algorithm&SQL (39)
    • 😺 Git (1)
    • 📖 Books (7)
      • 자바 객체 지향의 원리와 이해 (7)
    • 📁 ETC (2)
    • 되돌아보기 (15)

블로그 메뉴

  • 😺 Github
  • 🍀 NAVER Blog

인기 글

최근 댓글

최근 글

태그

  • JavaScript
  • 자바
  • 알고리즘
  • Algorithm
  • Til
  • MySQL
  • 자바스크립트
  • 항해99
  • Java
  • 프로그래머스

티스토리

hELLO · Designed By 정상우.
오늘 ONEUL

오늘의 개발

[Java/프로그래머스] 숫자 문자열과 영단어
📊 Algorithm&SQL

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

2022. 11. 22. 17:48

문제

 

 

 

풀이

(1) 문제 분석하기

  • 포함될 수 있는 영단어(zero ~ nine)를 담은 String 배열 생성
  • 배열 길이만큼 for문으로 돌면서 입력 받은 문자열에 해당 영단어가 있는지 확인 → contains()
  • 있다면, 해당 영단어를 i로 대체 → replace()

 

String.contains() 특정 문자열 포함 확인

대상 문자열에 특정 문자열이 포함되어 있는 확인하고, true or false를 반환한다.
대/소문자 구분하여 사용이 가능하다.

String.replace(찾을 문자열, 바꿀 문자열) 문자열 대체

대상 문자열을 원하는 문자 값으로 변환한다. 차례대로 찾을 문자열과 바꿀 문자열을 입력한다.
replace() vs replaceAll() 둘의 차이점은? replaceAll은 정규식 사용이 가능하다.

 

 

(2) 슈도코드 작성하기

zero ~ nine을 담은 String 배열 생성
for(string 배열 길이만큼) {
	if(입력 받은 문자열에 배열 요소가 포함된다면) {
    	해당 문자열 i로 대체
    }
}

 

(3) 코드 구현하기

package algorithm.test22;

public class Solution {
    public int solution(String s) {
        // zero ~ nine을 담음 String 배열을 생성
        // for문을 돌면서 배열에 있는 문자열이 입력 받은 문자열에 있는지 확인 contains()
        // 있다면, replace()를 이용하여 해당 문자열을 i로 대체
        
        String[] numberToString = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        for (int i = 0; i < numberToString.length; i++) {
            if (s.contains(numberToString[i])) {
                s = s.replace(numberToString[i], String.valueOf(i));
            }
        }
        return Integer.parseInt(s);
    }

    public static void main(String[] args) {
        String s = "one4seveneight";
        Solution sol = new Solution();
        System.out.println(sol.solution(s));
    }
}

 

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

저작자표시 비영리 변경금지

'📊 Algorithm&SQL' 카테고리의 다른 글

[Java/프로그래머스] 약수의 개수와 덧셈  (0) 2022.11.26
[Java/프로그래머스] 숫자의 표현  (1) 2022.11.22
[Java/프로그래머스] 문자열 내림차순으로 배치하기  (0) 2022.11.22
[Java/프로그래머스] 로또의 최고 순위와 최저 순위  (2) 2022.11.21
[Java/프로그래머스] 두 개 뽑아서 더하기  (0) 2022.11.19
    오늘 ONEUL
    오늘 ONEUL
    Backend Engineer ㅣ 어제보다 나은 오늘, 재밌는 건 오늘부터!

    티스토리툴바