[Kotlin] ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜) : isDigit(), isLetter(), all(), toIntOrNull()
๋ฐ˜์‘ํ˜•

 

 

 

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/12918

 

 


 

์ ‘๊ทผ

 

  • 1) ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•˜์—ฌ 4 ๋˜๋Š” 6์ธ์ง€ ํ™•์ธํ•œ๋‹ค.
  • 2) ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
class Solution {
    fun solution(s: String): Boolean {
    
    if(s.length == 4 || s.length == 6){
        if(s.isDigit() == true) return true
    } else return false
        
    }
}
  • ์œ„์™€ ๊ฐ™์ด ์„ค๊ณ„ํ•ด๋ณด์•˜์œผ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค.
  • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 4 ๋˜๋Š” 6์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋„ false๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜์ง€๋งŒ, ํ˜„์žฌ ์ฝ”๋“œ์—์„œ๋Š” ํ•ด๋‹น false ์ฒ˜๋ฆฌ๊ฐ€ ์—†๋‹ค.
class Solution {
    fun solution(s: String): Boolean {
    
    if(s.length == 4 || s.length == 6 && s.isDigit() == true) return true
        else false
           
    }
}
  • ์ด๋ฒˆ์—” ์œ„์™€ ๊ฐ™์ด ์„ค๊ณ„ํ•ด๋ณด์•˜์œผ๋‚˜, ์—ฌ์ „ํžˆ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค.
  • 1. ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
    ํ˜„์žฌ ์ฝ”๋“œ์—์„œ๋Š” && ์—ฐ์‚ฐ์ž๊ฐ€ || ์—ฐ์‚ฐ์ž๋ณด๋‹ค ์šฐ์„ ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด์ด ์ž˜๋ชป ํ‰๊ฐ€๋œ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด, s.length == 4 || s.length == 6 && s.isDigit() == true์—์„œ && ์—ฐ์‚ฐ์ž๊ฐ€ || ์—ฐ์‚ฐ์ž๋ณด๋‹ค ๋จผ์ € ๊ณ„์‚ฐ๋˜๋ฏ€๋กœ, s.length == 4 || (s.length == 6 && s.isDigit() == true)์™€ ๊ฐ™์ด ํ‰๊ฐ€๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค.
  • 2. s.isDigit() == true ๋กœ๋Š” ๊ณ„์‚ฐ์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค.
    s.isDigit()์€ ๋ฌธ์ž์—ด ์ „์ฒด๊ฐ€ ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฌธ์ž์—ด์ด ์ˆซ์ž ํ•˜๋‚˜๋ฅผ ํฌํ•จํ•˜๋Š”์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฐฉ๋ฒ•์€ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์— ์ ์ ˆํ•˜์ง€ ์•Š๋‹ค.
  • 3. ๋”ฐ๋ผ์„œ all ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.
    all ํ•จ์ˆ˜๋Š” ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค.
    ์ด ๊ฒฝ์šฐ, s.all { it.isDigit() }๋Š” ๋ฌธ์ž์—ด s์˜ ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 


 

์„ฑ๊ณต ์ฝ”๋“œ

class Solution {
    fun solution(s: String): Boolean {
    if((s.length == 4 || s.length == 6) && s.all{it.isDigit()} == true) { return true }
        else return false
    }
}


// if๋ฌธ ์—†์• ๊ณ  ๋” ์งง๊ฒŒ
class Solution {
    fun solution(s: String): Boolean = (s.length == 4 || s.length == 6) && (s.all{it.isDigit()} == true)      
    }

 


 

์„ค๋ช…

 

  1. s์˜ ๊ธธ์ด๊ฐ€ 4๊ฑฐ๋‚˜ 6์ด๋ฉด์„œ, ๋ชจ๋“  ์›์†Œ๊ฐ€ ์ˆซ์ž์ธ์ง€ ํ™•์ธ ํ•œ๋‹ค.(isDigit())
  2. ์ผ€์ด์Šค์— ๋”ฐ๋ผ if๋ฌธ์œผ๋กœ ๋‚˜๋ˆ ์„œ true์™€ false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

๐Ÿ’กisDigit()

val char1 = '5'
val char2 = 'a'
println(char1.isDigit()) // true
println(char2.isDigit()) // false
  • ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€๋ฅผ ํŒ๋ณ„
  • ๋ฌธ์ž์—ด์˜ ๊ฒฝ์šฐ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜๋ผ๋„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด true์ž„์— ์ฃผ์˜
  • ์‚ฌ์šฉ๋ฒ•: Char.isdigit()

 

๐Ÿ’กisLetter()

val char1 = 'A'
val char2 = '5'
println(char1.isLetter()) // true
println(char2.isLetter()) // false
  •  ๋ฌธ์ž๊ฐ€ ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž์ธ์ง€๋ฅผ ํŒ๋ณ„ 
  • ๋ฌธ์ž์—ด์˜ ๊ฒฝ์šฐ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜๋ผ๋„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด true์ž„์— ์ฃผ์˜
  • ์‚ฌ์šฉ๋ฒ•: Char.isLetter()

 

๐Ÿ’กall()

val numbers = listOf(1, 2, 3, 4, 5)
val allEven = numbers.all { it % 2 == 0 }
println(allEven) // false

val letters = listOf('a', 'b', 'c', 'd', 'e')
val allLowercase = letters.all { it.isLowerCase() }
println(allLowercase) // true
  • ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€๋ฅผ ํ™•์ธ
  • ์‚ฌ์šฉ๋ฒ•: Collection.all { predicate(๊ฐ ์š”์†Œ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜, true or false) }

 

 


 

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•

 

class Solution {
    fun solution(s: String) = (s.length == 4 || s.length == 6) && s.toIntOrNull() != null
}
  • ๋งค์šฐ ์‹ ๋ฐ•ํ•œ ํ’€์ด๋‹ค. isDigit()๊ฐ€ ์•„๋‹Œ .toIntOrNull()์„ ์ผ๋‹ค.
  • s.toIntOrNull()์ด null์ธ์ง€ ์•„๋‹Œ์ง€, ์ฆ‰, ๋ฌธ์ž์—ด s๋ฅผ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๊ณ  true์™€ false๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

๐Ÿ’ก.toIntOrNull()

"123".toIntOrNull() -> ์ •์ˆ˜ 123์„ ๋ฐ˜ํ™˜
"abc".toIntOrNull() -> null์„ ๋ฐ˜ํ™˜
"ab3c".toIntOrNull() -> null์„ ๋ฐ˜ํ™˜
  • ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธ
  • ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ ์ •์ˆ˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด null์„ ๋ฐ˜ํ™˜

 

 

 

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T