음계 성공출처다국어
한국어
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 | 128 MB | 53323 | 28089 | 24332 | 54.254% |
문제
다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다.
1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다.
연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오.
입력
첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다.
출력
첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.
예제 입력 1 복사
1 2 3 4 5 6 7 8
예제 출력 1 복사
ascending
예제 입력 2 복사
8 7 6 5 4 3 2 1
예제 출력 2 복사
descending
예제 입력 3 복사
8 1 7 2 6 3 5 4
예제 출력 3 복사
mixed
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
fun main(){
val gg = readLine()!!.split(" ").map { it.toInt() }
var cmp = 0
var key = true
var a = 1
if(gg[0]==1) {
for (i in 1..gg.size) {
if (gg[0] == 1 && key) {
cmp = i
key = false
//println("cmp: $cmp")
} else if (gg[0] == 1 && cmp + 1 == gg[i-1]) {
//println("cmp2: $cmp")
//println("i : $i")
cmp += 1
if (cmp == 8)
println("ascending")
}
}
if(cmp!=8)
println("mixed")
}
else if(gg[0]==8){
for (i in gg.size downTo 1) {
if (gg[0] == 8 && key) {
cmp = i
key = false
//println("cmp: $cmp")
} else if (gg[0] == 8 && cmp - 1 == gg[a-1]) {
//println("cmp2: $cmp")
//println("a : $a")
cmp -= 1
if (cmp == 1)
println("descending")
}
a++
}
if(cmp!=1)
println("mixed")
}
else
println("mixed")
}
|
cs |
fun main() {
print(
when (readLine()!!) {
"1 2 3 4 5 6 7 8" -> "ascending"
"8 7 6 5 4 3 2 1" -> "descending"
else -> "mixed"
}
)
}
// https://www.acmicpc.net/source/30125826
ㅋㅋ 어이가 없네 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
나는 병신인건가?
'알고리즘 공부 > 미분류' 카테고리의 다른 글
백준 3448번 with Kotlin #isNullOrEmpty #반올림 (0) | 2021.07.05 |
---|---|
백준 1157번 with Kotlin # 5번 다시보기 #알파벳 대소문자 변환. (0) | 2021.07.05 |
백준 8958 with Kotlin #forEach #배열선언 (0) | 2021.07.04 |
백준 11720번 with Kotlin ★ (0) | 2021.07.04 |
백준 10818번 kotlin #map (0) | 2021.07.04 |