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 |
Tags
- 2022 플러터 안드로이드 스튜디오
- 플러터 설치 2022
- rxjava disposable
- ar vr 차이
- 안드로이드 os 구조
- Rxjava Observable
- 안드로이드 유닛테스트란
- jvm이란
- 스택 자바 코드
- 자바 다형성
- 안드로이드 라이선스
- android retrofit login
- 안드로이드 유닛 테스트 예시
- 스택 큐 차이
- 멤버변수
- android ar 개발
- 큐 자바 코드
- 안드로이드 유닛 테스트
- 서비스 쓰레드 차이
- jvm 작동 원리
- 안드로이드 레트로핏 crud
- 안드로이드 라이선스 종류
- 객체
- rxjava cold observable
- 안드로이드 레트로핏 사용법
- 2022 플러터 설치
- 클래스
- ANR이란
- rxjava hot observable
- 서비스 vs 쓰레드
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 백준 - 음계 (2920) (Kotlin) 본문
728x90
반응형
오름차순, 내림차순, 무작위로 배치된 숫자들 중 뭘 받냐에 따라 각각 다른 문자열을 리턴하면 된다.
fun main() {
val numbers = readln().split(" ").map { it.toInt() }
var isAscending = true
var isDescending = true
for (i in 0..< 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")
}
}
오름차순과 내림차순을 구분하는 방법은 리스트를 순회하면서 앞 원소보다 뒤 원소가 큰지 확인하면 된다.
반복문을 사용하기 때문에 오름차순으로 이뤄진 숫자들이라면 isDescending은 계속 false가 되고 isAscending은 true로 초기화된 상태에서 변하지 않을 것이다. 반복문이 끝난 후에도 동일하다면 when에서 문제에 맞춰 글자를 출력하면 된다.
내림차순의 경우에도 비슷하고, 무작위 숫자인 경우 두 Boolean 변수 모두 false가 될 것이기 때문에 when에서 else로 빠지게 된다.
반응형
'알고리즘 문제 풀이 > 백준' 카테고리의 다른 글
[Algorithm] 백준 - 웰컴 키트 (30802) (Kotlin) (0) | 2024.09.19 |
---|---|
[Algorithm] 백준 - 직각삼각형 (4153) (Kotlin) (0) | 2024.09.19 |
[Algorithm] 백준 - 문자열 반복 (2675) (Kotlin) (0) | 2024.07.06 |
[Algorithm] 백준 - 단어의 개수 (1152) (Kotlin) (0) | 2024.07.06 |
[Algorithm] 백준 - ACM 호텔 (10250) (Kotlin) (0) | 2024.07.06 |
Comments