코딩테스트(Level 0~1)

[JAVA, Programmers] 옹알이(1)(자바)

justdoIT0730 2022. 11. 24. 11:29
728x90
728x90

1. 문제 설명

머쓱이는 태어난 6개월 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 가지 발음을 최대 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling 매개변수로 주어질 , 머쓱이의 조카가 발음할 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

 

2. 제한사항

1 ≤ babbling 길이 ≤ 100

1 ≤ babbling[i] 길이 ≤ 15

babbling 원소에서 "aya", "ye", "woo", "ma" 각각 최대 번씩만 등장합니다.

문자열은 알파벳 소문자로만 이루어져 있습니다.

 

3. 입출력

babbling result
["aya", "yee", "u", "maa", "wyeoo"] 1
["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] 3

 

4. 입출력 설명

- 입출력 #1

["aya", "yee", "u", "maa", "wyeoo"]에서 발음할 있는 것은 "aya"뿐입니다. 따라서 1 return합니다.

- 입출력 #2

["ayaye", "uuuma", "ye", "yemawoo", "ayaa"]에서 발음할 있는 것은 "aya" + "ye" = "ayaye", "ye", "ye" + "ma" + "woo" = "yemawoo" 3개입니다. 따라서 3 return합니다.

 

5 유의사항

가지를 붙여 만들 있는 발음 이외에는 어떤 발음도 없는 것으로 규정합니다. 예를 들어 "woowo" "woo" 발음할 있지만 "wo" 발음할 없기 때문에 없는 발음입니다.

 

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;
		String[] a = { "aya", "ye", "woo", "ma" };
		
		for(int i =0; i<babbling.length; i++) {
			for(int y =0; y<a.length; y++) {
				babbling[i] = babbling[i].replace(a[y], " ");		//1
			}
			babbling[i] = babbling[i].trim();				//2
		}
		for(int i=0; i<babbling.length; i++) {
			if(babbling[i].length()==0) {
				answer ++;
			}
		}
        return answer;
    }
}

 

6. 풀이

//1 replace( , ) 함수 :  자신이 바꾸고싶은 문자로 문자열을 치환시켜주는 기능

replace([기존문자],[바꿀문자]) 

 

//2 trim() 함수 : 문자열 앞 뒤에 존재하는 공백을 제거하는 기능, 하지만 문자열 중간에 존재하는 공백 제거는 불가능!

1번 풀이에서 공백을 넣은 이유는 1번째 예제 중

"wyeoo"을 처리시 ye가 빠지고 공백 없이 처리하게된다면 

"woo"도 공백처리가 되어 최종 answer 카운팅에 포함되어버린다..

그래서 공백처리를 하고 for문이 끝나면 trim을 이용해

공백을 제거하여 조건에 맞는 babbling[n]의 길이를 0으로 만든다.!

 

 

[출처]

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

 

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

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

coding-factory.tistory.com

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

 

[Java] 문자열 공백제거(Trim) 사용법 & 예제

프로그래밍을 하다 보면 예상치 못한 경로로 문자열에 공백이 들어오는 경우가 종종 발생합니다. 이럴 경우 공백이 어디서부터 들어왔는지 소스가 길어질수록 찾아보기엔 굉장히 귀찮죠. 이럴

coding-factory.tistory.com

https://velog.io/@kim11401/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%98%B9%EC%95%8C%EC%9D%B41-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-Java

 

[프로그래머스] 옹알이(1) 문제풀이 (Java)

1. 문제출처 >### 옹알이(1) 2. 문제 설명 >#### 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖

velog.io

 

728x90
728x90