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