[Kotlin] 백준, 프로그래머스 메모장으로 테스트 케이스를 만들기 with 코틀린

: ) YOUNG·2022년 4월 28일
2

Kotlin

목록 보기
2/7
post-thumbnail

서론

코틀린을 새로 배우게 되면서 백준 문제를 푸는데..
원래 자바로 백준 문제를 풀때 테스트케이스를
메모장인 txt파일로 저장해서 돌려서 풀었었다.

이런식으로 해서 풀면 코드를 돌릴 때 마다 일일히 입력할 필요가 없기 때문에 굉장히 유용하다.

자바에서는 이코드를 그냥 눈감고도 적을 정도로 외워서 사용했는데,
코틀린에서 문제를 풀때도 당연히 이 방법을 사용해야 겠거니 싶었다.

그래서 이 글을 적어본다


메모장으로 출력하기

아직 저는 코틀린에서 걸음마도 떼지 못한 영유아라는 점을 이해바랍니다.

혹시 더 좋은 점을 알고계시거나 지적할 부분이 있다면 꼭 알려주세요!

먼저 저는 위 사진처럼 경로를 만들었습니다.

테스트케이스 txt파일은 아래와 같은 경로를 만들었고,

src > main > kotlin > res > input_bj_1000.txt

제가 돌릴 코드인 test1.kt파일은
src > main > kotlin > test1.kt 로 만들었습니다.

이제 txt파일의 경로를 알아오면 되는데,
다른 분들은 다른 경로와 이름을 사용하실 수 있으니
경로를 가져오는 법을 알려드리겠습니다.

경로 가져오기

테스트케이스를 저장한 txt파일을 우클릭하시면 위와 같은 화면이 나옵니다.

빨간색으로 표시된 버튼을 클릭해주세요

클릭하면 해당 창이뜨고 Absolute Path라고 보이실 겁니다.

그 부분이 해당파일의 절대경로를 알려줍니다.
해당 부분을 클릭하시면 자동으로 경로가 복사가 된겁니다.

이제 경로는 알아왔고, 이부분을 path라는 변수를 만들어서 옮겨줍니다.

var path = " 여기에 복붙!! "

이렇게 하면 경로가 담긴 path 변수가 만들어졌습니다.
이제 이 경로를 넣어주기만 하면됩니다.

이제 전체코드를 보시죠!!

import java.io.BufferedReader
import java.io.File
import java.util.*

fun main() {
    var path = "경로 \\src\\main\\kotlin\\res\\input_bj_1000.txt"
    var br = BufferedReader(File(path).bufferedReader())

    var str = br.readLine();
    var st = StringTokenizer(str);

    print(st.nextToken().toInt() + st.nextToken().toInt())
}

경로앞에붙는 부분은 백슬래시입니다.
2개를 붙여주셔야 해요

위 사진 처럼이요!

이제 코드를 돌려보면 정상적으로 잘 동작합니다.


마무리

마지막으로 백준에 코드를 넣어서 결과를 제출할 때 주의할 점인데요.

저희의 경로 그대로넣으면 안되기 때문에 수정해주셔야 합니다.

import java.io.*
import java.util.*

fun main() {
    var br = BufferedReader(InputStreamReader(System.`in`))

    var str = br.readLine();
    var st = StringTokenizer(str);

    print(st.nextToken().toInt() + st.nextToken().toInt())

}

제출 하실때는 위와 같이 수정해서 내시면 됩니다.
path는 제거하셔도 되고 안하셔도 됩니다.

하지만 br인 BufferedReader는 뒤에 parameter를 꼭 수정해주셔야 합니다.!!

0개의 댓글