반응형
프로그래머스에서
레벨 1, 코틀린 언어, 정답률이 높은 순서대로 문제를 풀고 있습니다.
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
이번 문제는 '옹알이 (2)' 문제이고
위의 사이트에서 3페이지에서 내리다 보면 있습니다.
벌써 정답률이 62%로군요. 어쩐지 저한테는 점점 어려워지네요
그래도 열심히 해보겠습니다.
문제는 읽어보시면 이해할 것 같습니다.
제 풀이는 이렇습니다.
class Solution {
fun solution(babbling: Array<String>): Int {
var answer: Int = 0
var charList = listOf('a', 'y', 'w', 'm')
var list = listOf("aya", "ye", "woo", "ma")
for(ele in babbling){
var element = ele
var isFirstA = true
var isFirstY = true
var isFirstW = true
var isFirstM = true
while(element.length > 0){
if(element[0] == 'a'){
if(element.length < 3 || !isFirstA){
break
}
isFirstA = false
isFirstY = true
isFirstW = true
isFirstM = true
if(element.substring(0, 3) == "aya"){
element = element.substring(3)
}else{
break
}
}else if(element[0] == 'y') {
if(element.length < 2 || !isFirstY){
break
}
isFirstA = true
isFirstY = false
isFirstW = true
isFirstM = true
if(element.substring(0, 2) == "ye"){
element = element.substring(2)
}else{
break
}
}else if(element[0] == 'w'){
if(element.length < 3 || !isFirstW){
break
}
isFirstA = true
isFirstY = true
isFirstW = false
isFirstM = true
if(element.substring(0, 3) == "woo"){
element = element.substring(3)
}else{
break
}
}else if(element[0] == 'm'){
if(element.length < 2 || !isFirstM){
break
}
isFirstA = true
isFirstY = true
isFirstW = true
isFirstM = false
if(element.substring(0, 2) == "ma"){
element = element.substring(2)
}else{
break
}
}else{
break
}
}
if(element.length == 0){
answer++
}
}
return answer
}
}
무식하게 해서 풀었는데.
제가봐도 좀 이상하긴하는데
질문 있으시거나 더 나은 답변이 있으시면 댓글로 알려주세요
반응형
'코딩테스트' 카테고리의 다른 글
프로그래머스 '문자열 나누기' 코테풀이 (0) | 2025.03.10 |
---|---|
프로그래머스 '로또의 최고 순위와 최저 순위' 코테풀이 (1) | 2025.02.26 |
프로그래머스 '실패율' 코테풀이 (0) | 2025.02.17 |
프로그래머스 '덧칠하기' 코테풀이 (0) | 2025.02.11 |
프로그래머스 '소수 만들기' 코테풀이 (0) | 2025.02.04 |