티스토리 뷰
이번 문제는 성공률이 31퍼센트이길레 긴장하고 들어갔는데 생각보다 문제 해결방법이 간단해 보여 바로 해결되었다.
나의 풀이 방법은 다음과 같다.
- 비교 문자열 배열을 만든다. ("aya", "ye", "woo", "ma")
- 반복문으로 모든 옹알이 배열을 탐색한다.
- 각 옹알이 문자열이 비교 문자열을 포함하고 있는지 확인한다. (Contains)
- 옹알이 문자열에 비교 문자열이 포함되어있다면 비교 문자열의 크기를 저장한다.
- 옹알이 문자열("ayaye")에 비교 문자열("aya")를 비교하면 문자열에 "aya"가 포함되는걸 확인할 수 있다.
- 비교 문자열("aya") 길이 3을 변수에 저장한다.
- 옹알이 문자열("ayaye")에 비교 문자열("ye")를 비교하면 문자열에 "ye"가 포함되는걸 확인할 수 있다.
- 비교 문자열("ye") 길이 2을 변수에 추가로 저장하여 총 길이가 5가 된다.
- 옹알이 문자열 크기와 비교 연산으로 확인된 크기가 동일하면 정답에 포함된다.
- "ayaye" 크기 5, "aya" + "ye" 크기 5 = 정답
- "ayayee" 크기 6, "aya" + "ye" 크기 6 = 오답
using System;
public class Solution {
public int solution(string[] babbling) {
string[] speak = new string[4] {"aya", "ye", "woo", "ma"};
int answer = 0;
foreach (string words in babbling) {
int length = 0;
foreach (string compare in speak)
if (words.Contains(compare)) length += compare.Length;
if (words.Length == length) answer++;
}
return answer;
}
}
다른 분들의 풀이로 읽었을때 Replace를 통해 잔여 문자열이 없는 경우 정답으로 만드는 분들도 있고
정말 Brute force한 방법으로 연산 하시는 분들도 있었다.
'코딩테스트 > Programmers' 카테고리의 다른 글
[Programmers] 입문) 겹치는 선분의 길이 (0) | 2023.07.13 |
---|---|
[Programmers] 입문) 평행 (0) | 2023.07.10 |
[Programmers] 입문) 직사각형 넓이 구하기 (0) | 2023.07.09 |
[Programmers] 입문) 외계어 사전 (Contains) (0) | 2023.07.09 |
[Programmers] 입문) 삼각형의 완성조건 (2) (수식) (0) | 2023.07.07 |