-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIteratorEx.kt
84 lines (71 loc) · 1.68 KB
/
IteratorEx.kt
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package basic
import java.util.*
/**
* 설명 : N/A
*
* @author Minkuk Jo / http://minkuk-jo.com
* @since 2021. 02. 07.
*/
fun main() {
for (i in 1..30) {
print(fizzBuzz(i))
}
println()
// 1 ~ 100
for (i in 1..30) {
print("$i ")
}
println()
// downTo: 역방향, step 증감량
for (i in 30 downTo 1 step 2) {
print("$i ")
}
println()
// 0 ~ 99
for (x in 0 until 30) {
print("$x ")
}
println()
println()
// map iteration
val binaryReps = TreeMap<Char, String>()
for (c in 'A'..'F') {
val binary = Integer.toBinaryString(c.toInt())
binaryReps[c] = binary // binaryReps.put(c, binary)
}
for ((letter, binary) in binaryReps) {
println("$letter = $binary")
}
println()
// arraylist iteration
val list = arrayListOf("10", "11", "1001")
for ((index, element) in list.withIndex()) {
println("$index: $element")
}
println()
println(isLetter('q'))
println(isNotDigit('x'))
println()
println(recognize('8'))
println(recognize('a'))
println(recognize('Z'))
println(recognize('-'))
println()
println("Kotlin" in "Java".."Scala")
println("Kotlin" in setOf("Java", "Scala"))
}
fun fizzBuzz(i: Int) =
when {
(i % 15 == 0) -> "FizzBuzz"
(i % 3 == 0) -> "Fizz"
(i % 5 == 0) -> "Buzz"
else -> "$i \n"
}
fun isLetter(c: Char) = c in 'a'..'z' || c in 'A'..'Z'
fun isNotDigit(c: Char) = c !in '0'..'9'
fun recognize(c: Char) =
when (c) {
in '0'..'9' -> "It's a digit!"
in 'a'..'z', in 'A'..'Z' -> "It's a letter!"
else -> "I don't know"
}