Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 파이썬
- baekjoon
- 안드로이드
- 자바
- GDSC
- VSCode
- kotlin
- Android
- programers
- MVVM
- DART
- 프로그래머스
- Flutter
- 아마존 웹 서비스
- 스위프트
- 개발
- 백준
- softeer
- aws
- java
- 다트
- SWIFT
- 플러터
- 코틀린
- 머신러닝
- Python
- 코테
- 현대sw
- 소프티어
- 알고리즘
Archives
- Today
- Total
조준장 개발자 생존기
[baekjoon] 백준 12933번(코틀린): 오리 본문
문제
12933번: 오리
첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다.
www.acmicpc.net
알고리즘
- 반복문을 통해 오리의 울음소리를 확인한다.
- 확인은 그 울음의 탐색 유무에 따라 진행한다.
- 울음소리가 quack이고 탐색하지 않았다면 카운트한다.
코드
package beakjoon.implementation
import java.io.BufferedReader
import java.io.InputStreamReader
fun main(){
val br = BufferedReader(InputStreamReader(System.`in`))
val duck = br.readLine()!!.toList()
val size = duck.size
val visited = Array(duck.size){false}
val quack = "quack".toList()
var cnt = 0
if (size % 5 != 0){
println(-1)
}else{
for (i in 0 until size){
if (duck[i] == 'q' && !visited[i]){
var k = 0
var check = true
for (j in i until size){
if (duck[j] == quack[k] && !visited[j]){
visited[j] = true
if (duck[j] == 'k'){
if (check){
check = false
cnt++
}
k = 0
continue
}
k++
}
}
}
}
if (!visited.all { it } || cnt == 0){
println(-1)
}else{
println(cnt)
}
}
}
github
GitHub - junjange/KotlinAlgorithm: 내가 푼 코딩 테스트 문제와 해결법(Kotlin)
내가 푼 코딩 테스트 문제와 해결법(Kotlin). Contribute to junjange/KotlinAlgorithm development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 20291번(코틀린): 파일 정리 (0) | 2022.08.28 |
---|---|
[baekjoon] 백준 20291번(파이썬): 파일 정리 (0) | 2022.08.28 |
[baekjoon] 백준 12933번(파이썬): 오리 (0) | 2022.08.25 |
[baekjoon] 백준 1913번(코틀린): 달팽이 (0) | 2022.08.21 |
[baekjoon] 백준 1913번(파이썬): 달팽이 (0) | 2022.08.20 |