Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ANR이란
- rxjava cold observable
- 안드로이드 레트로핏 사용법
- 안드로이드 유닛 테스트
- 안드로이드 유닛테스트란
- Rxjava Observable
- 클래스
- 안드로이드 라이선스
- 큐 자바 코드
- 서비스 vs 쓰레드
- 2022 플러터 설치
- ar vr 차이
- jvm이란
- jvm 작동 원리
- 서비스 쓰레드 차이
- rxjava disposable
- 안드로이드 레트로핏 crud
- 객체
- rxjava hot observable
- 스택 자바 코드
- 플러터 설치 2022
- android retrofit login
- 자바 다형성
- 안드로이드 os 구조
- 안드로이드 라이선스 종류
- 스택 큐 차이
- 2022 플러터 안드로이드 스튜디오
- android ar 개발
- 안드로이드 유닛 테스트 예시
- 멤버변수
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 백준 - 음계 (2920) (Kotlin) 본문
728x90
반응형
입력받은 1~8까지의 숫자가 오름차순인지 내림차순인지, 아니면 둘 중 어디에도 해당하지 않는지 확인해서 각 경우 별 문자열을 출력한다면 풀 수 있긴 하다.
fun main() {
val num = readln().split(" ").map { it.toInt() }
val ascendingList = mutableListOf<Int>()
for (i in 1 .. 8) {
ascendingList.add(i)
}
val descendingList = mutableListOf<Int>()
for (i in 8 downTo 1) {
descendingList.add(i)
}
when (num) {
ascendingList -> println("ascending")
descendingList -> println("descending")
else -> println("mixed")
}
}
하지만 이런 식으로 푸는 건 의미가 없다. 실제로 입력받은 숫자들을 비교해서 오름차순인지 내림차순인지, 아니면 둘 다 해당하지 않는지 확인할 수 있어야 한다.
아래의 방식으로 풀어볼 수 있다.
fun main() {
val numbers = readln().split(" ").map { it.toInt() }
var isAscending = true
var isDescending = true
for (i in 0 until numbers.size - 1) {
if (numbers[i] < numbers[i + 1]) {
isDescending = false
} else if (numbers[i] > numbers[i + 1]) {
isAscending = false
}
}
when {
isAscending -> println("ascending")
isDescending -> println("descending")
else -> println("mixed")
}
}
입력받는 부분은 동일하지만 boolean 변수 2개를 설정했다. 각각 반복문 종료 후 오름차순인지 내림차순인지 확인하기 위해 사용할 것이다.
이후 반복문으로 입력받은 숫자들의 리스트를 돌면서 앞의 인덱스, 뒤의 인덱스끼리 비교해서 알맞은 boolean 변수를 false로 설정한다.
반복문이 끝나면 boolean 변수에 따라 각각 알맞은 문자열을 출력하고 둘 다 false라면 숫자가 섞여 있는 것이니 mixed를 출력한다.
반응형
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
[Algorithm] 백준 - 아스키 코드 (11654) (Kotlin) (0) | 2024.06.07 |
---|---|
[Algorithm] 백준 - 알파벳 찾기 (10809) (Kotlin) (0) | 2024.06.07 |
[Algorithm] 백준 - 알람 시계 (2884) (Kotlin) (0) | 2024.06.06 |
[Algorithm] 백준 - 숫자의 개수 (2577) (Kotlin) (0) | 2024.06.06 |
[Algorithm] 백준 - 최댓값 (2562) (Kotlin) (0) | 2024.06.06 |
Comments