Skip to content

Commit 00fc27f

Browse files
committed
[level 1] Title: 옹알이 (2), Time: 26.83 ms, Memory: 64.8 MB -BaekjoonHub
1 parent 01d586b commit 00fc27f

File tree

2 files changed

+113
-0
lines changed

2 files changed

+113
-0
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# [level 1] 옹알이 (2) - 133499
2+
3+
[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/133499)
4+
5+
### 성능 요약
6+
7+
메모리: 64.8 MB, 시간: 26.83 ms
8+
9+
### 구분
10+
11+
코딩테스트 연습 > 연습문제
12+
13+
### 채점결과
14+
15+
정확성: 100.0<br/>합계: 100.0 / 100.0
16+
17+
### 제출 일자
18+
19+
2024년 05월 24일 14:25:33
20+
21+
### 문제 설명
22+
23+
<p>머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 <code>babbling</code>이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.</p>
24+
25+
<hr>
26+
27+
<h5>제한사항</h5>
28+
29+
<ul>
30+
<li>1 ≤ <code>babbling</code>의 길이 ≤ 100</li>
31+
<li>1 ≤ <code>babbling[i]</code>의 길이 ≤ 30</li>
32+
<li>문자열은 알파벳 소문자로만 이루어져 있습니다.</li>
33+
</ul>
34+
35+
<hr>
36+
37+
<h5>입출력 예</h5>
38+
<table class="table">
39+
<thead><tr>
40+
<th>babbling</th>
41+
<th>result</th>
42+
</tr>
43+
</thead>
44+
<tbody><tr>
45+
<td>["aya", "yee", "u", "maa"]</td>
46+
<td>1</td>
47+
</tr>
48+
<tr>
49+
<td>["ayaye", "uuu", "yeye", "yemawoo", "ayaayaa"]</td>
50+
<td>2</td>
51+
</tr>
52+
</tbody>
53+
</table>
54+
<hr>
55+
56+
<h5>입출력 예 설명</h5>
57+
58+
<p>입출력 예 #1</p>
59+
60+
<ul>
61+
<li>["aya", "yee", "u", "maa"]에서 발음할 수 있는 것은 "aya"뿐입니다. 따라서 1을 return합니다.</li>
62+
</ul>
63+
64+
<p>입출력 예 #2</p>
65+
66+
<ul>
67+
<li>["ayaye", "uuu", "yeye", "yemawoo", "ayaayaa"]에서 발음할 수 있는 것은 "aya" + "ye" = "ayaye", "ye" + "ma" + "woo" = "yemawoo"로 2개입니다. "yeye"는 같은 발음이 연속되므로 발음할 수 없습니다. 따라서 2를 return합니다.</li>
68+
</ul>
69+
70+
<hr>
71+
72+
<h5>유의사항</h5>
73+
74+
<ul>
75+
<li>네 가지를 붙여 만들 수 있는 발음 이외에는 어떤 발음도 할 수 없는 것으로 규정합니다. 예를 들어 "woowo"는 "woo"는 발음할 수 있지만 "wo"를 발음할 수 없기 때문에 할 수 없는 발음입니다.</li>
76+
</ul>
77+
78+
<hr>
79+
80+
<p>※ 공지 - 2024년 2월 20일 문제 지문의 오탈자가 수정되었습니다.</p>
81+
82+
83+
> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution {
2+
fun solution(babblings: Array<String>): Int {
3+
val canSay = listOf("aya", "ye", "woo", "ma")
4+
var answer = 0
5+
6+
babblings.forEach {
7+
var bab = it
8+
9+
if (!it.checkingDuplicatedwords(canSay)) {
10+
canSay.forEach { canSpeakWord ->
11+
bab = bab.replace(canSpeakWord, "")
12+
}
13+
14+
if (bab.replace("", "").isEmpty()) answer++
15+
}
16+
}
17+
18+
return answer
19+
}
20+
21+
fun String.checkingDuplicatedwords(words: List<String>): Boolean {
22+
words.forEach {
23+
keyword ->
24+
if (this.contains(keyword + keyword)) return true
25+
26+
}
27+
28+
return false
29+
}
30+
}

0 commit comments

Comments
 (0)