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
- rxjava cold observable
- Rxjava Observable
- 2022 플러터 설치
- 서비스 쓰레드 차이
- 클래스
- 안드로이드 라이선스 종류
- ar vr 차이
- ANR이란
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛 테스트
- 안드로이드 os 구조
- 안드로이드 유닛 테스트 예시
- rxjava hot observable
- 스택 자바 코드
- jvm 작동 원리
- 큐 자바 코드
- 자바 다형성
- jvm이란
- rxjava disposable
- android ar 개발
- 안드로이드 레트로핏 crud
- 안드로이드 레트로핏 사용법
- 멤버변수
- 안드로이드 라이선스
- 플러터 설치 2022
- android retrofit login
- 스택 큐 차이
- 안드로이드 유닛테스트란
- 서비스 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