백준 코테 준비 with Kotlin

MINDY·2023년 9월 16일
0

코테

목록 보기
1/1

20230916

  • 2557번

    • 코틀린을 안스에서만 썼지 기본 문법만은 안 썼어서 완전 당황 그 자체;;
    • 코틀린 쓸 때는 fun main(){} 안에 코드를 작성해야 한다!
    • print해야하는 항목 정확히 쓰기 ㅎㅎ Hello World!써야 되는데 Hello World써서 틀림
  • 1000번

    • 인풋 받는 법 : scanner로 받기, bufferedReader로 받기
    • bufferedReader가 코드는 더 길지만 속도는 더 빠르다고 한다.
    • import도 따로 다 써야되나 보다
    • bufferedReader 사용방법
        import java.io.BufferedReader
        import java.io.InputStreamReader
        import java.util.StringTokenizer
        
        fun main(args : Array<String>){
        	val br = BufferedReader(InputStreamReader(System.`in`))
          val token = StringTokenizer(br.readLine())
        	println(Integer.parseInt(token.nextToken()) + Integer.parseInt(token.nextToken()))
        }
  • 1001번

    • 위의 1000번 코드에서 +를 -로만 바꿈
    • 입력받는 건 정수라서 String을 Int로 바꿨더니 런타임에러가 떴다.
      - BufferedReader는 Scanner와 다르게 readLine()만 존재하기 때문에 무조건 String으로만 받아야한다.
  • 10998번

    • 1000번 문제에서 +를 *로 변경
    • 백준 레벨 어떻게 보는지 몰랐는데 사용버튼을 안 누르고 있었다ㅜ
  • 1008번

    • bufferedReader로 풀려고 했는데 scanner를 쓰면 double자료형으로 너무 쉽게 풀 수 있었다.

    • 역시 상황에 따라 그 때 그 때 툴을 바꿔서 최고 효율을 뽑아내는 게 중요하군..

    • kotlin에서 Scanner 사용방법

      fun main() = with(Scanner(System.`in`)){
      println(nextDouble()/nextDouble())
      }
      
    • nextDouble()말고도 다양하게 받을 수 있음

      next() : Stirng
      nextInt() : Int
      nextShort() : Short
      nextDouble() : Double
      nextFloat() : Float
      nextLong() : Long
      nextByte() : Byte
      nextLine() : String
      
profile
안드로이드 공부중🌱

0개의 댓글