[TIL] 230624 드디어 옹알이를 풀었다...(코딩테스트: 옹알이(1))

CountryGirl·2023년 6월 24일
0

TIL

목록 보기
8/80

📌 문자열 내림차순으로 배치하기

문제점 & 시도 & 해결

처음엔 아주아주 쉬운 문제라고 생각했다.
아니었다...정답률이 31% 괴물 문제다..

String[] baby = {"aya", "ye", "ma", "woo"};
String[] babbling = {"ayaye", "uuuma", "yee", "yweoo"};

baby 는 아기가 옹알이를 할 수 있는 문자열이다.
babbling 문자열에 baby에 있는 문자열만으로 이루어져야 한다.

보고 contains() 를 쓰면 된다고 아주 쉽게 생각했다.
하지만 contains() 는 포함만 되면 된다.
ayayaya가 포함되기 때문에 카운트가 될 것이다.
하지만 그것이 아닌 {"aya", "ye", "ma", "woo"} 으로만 이루어져야한다.

- ayaye (O)
- ayayee (X)

도저히 아무생각이 나지 않았다..

유레카.

고민하다가 방법이 떠올랐다.
replace()를 사용해서 babbling 에서 baby 문자열을 빼주는 것이다.

babbling[i] = babbling[i].replace(baby[j], "");

하지만 틀렸다.
디버깅을 해보았더니

만약 babblingwyeoo 가 있다면
먼저 wyeoo 에서 ye 를 빼고 남은 woo도 같이 빼준다는 것을 알게 됐다...

출제자의 의도를 파악해버렸다. 이렇게 문제를 해결할 줄 알고, 먼저 입출력예시를 준 것이다.

그냥 "" 로 제거가 아니라 # 이런 문자를 넣어주면 w#oo가 되기 때문에 삭제할 수 없다.
#을 넣고 replace() 를 해서 해결할 수 있었다.

profile
💻🌾시골소녀의 엉망징창 개발 성장일지🌾💻 (2023.05.23 ~)

0개의 댓글