신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

문제 풀이에 대한 내용과 코드는 아래에 있습니다. 문제를 아시는 분은 아래로 내려가서 확인 할 수 있습니다.

 

문제 출처 - 백준

https://www.acmicpc.net/problem/11022

 

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.

 

예제

예제입력

5
1 1
2 3
3 4
9 8
5 2

 

예제출력

Case #1: 1 + 1 = 2
Case #2: 2 + 3 = 5
Case #3: 3 + 4 = 7
Case #4: 9 + 8 = 17
Case #5: 5 + 2 = 7

 

 

 

코드풀이

이 문제를 풀때는 2가지 방법이 있습니다. 로직이 다른것은 아니고, BufferedReader를 사용하는 방법과 Scanner를 사용하는 방법입니다. BufferedReader로 푸는것이 속도는 더 빠르므로, 개인적으로 BufferedReader를 이용해서 푸는것을 추천합니다.

 

BufferedReader로 풀기

 
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.*

// BufferedReader 이용해서 풀기
fun main(args: Array<String>){
    val br = BufferedReader(InputStreamReader(System.`in`))
    for (i in 1..Integer.parseInt(br.readLine())) {
        val input = br.readLine()
        val st = StringTokenizer(input, " ")
        val a = Integer.parseInt(st.nextToken())
        val b = Integer.parseInt(st.nextToken())
        println("Case #${i}: ${a} + ${b} = ${a + b}")
    }
}

코드 길이는 Scanner보다는 조금 길지만, 속도는 빠릅니다.

 

참고로 System.in을 사용할때는 in에 ` 기호를 사용해줘야 합니다. 왜냐하면, 코틀린에서는 in이 키워드로 동작하기 때문입니다. 그래서 코드 7번째 줄을 보면 System.`in`이라고 사용한 것을 확인 할 수 있습니다. ( ` 는 싱글따옴표가 아닙니다. 키보드 1옆에 있는 기호 입니다.)

 

Scanner로 풀기

import java.util.*

// Scanner 이용해서 풀기
fun main(args: Array<String>) = with(Scanner(System.`in`)) {
    for (i in 1..nextInt()) {
        val a = nextInt()
        val b = nextInt()
        println("Case #${i}: ${a} + ${b} = ${a + b}")
    }
}
​

확실히 코드는 첫번째(BufferedReader)로 푼것보다 짧습니다.

 

결과

첫번째 풀이가 Scanner를 이용한 풀이 결과입니다. 그리고, 두번째 풀이가 BufferedReader를 이용한 풀이 결과입니다.

 

해당 문제는 직접 풀어보고 작성한 글 입니다.

궁금한점이 있거나 더 효율적인 방법으로 푸는 방법이 있다면 댓글로 알려주세요~

 

다른 글

2019/02/05 - [Algorithm/백준 온라인 저지] - 백준 10172번 개, 코틀린으로 풀어보기

 

백준 10172번 개, 코틀린으로 풀어보기

해당 문제는 직접 풀어보고 작성한 글 입니다. 궁금한점이 있거나 더 효율적인 방법으로 푸는 방법이 있다면 댓글로 알려주세요~ 코드와 풀이는 아래에 있습니다. 문제를 아시는분은 문제설명을 생략하고 아래쪽에..

hongku.tistory.com

2019/01/28 - [Algorithm/백준 온라인 저지] - 백준 1000번 코틀린(Kotlin)으로 풀어보기

 

백준 1000번 코틀린(Kotlin)으로 풀어보기

이 글은 직접 풀어보고 채점까지 마친 뒤, 작성한 글입니다. 궁금한 점 있으면 댓글 남겨주세요! A+B 1000번은 매우 쉬운 문제입니다. 이번에 Kotlin(코틀린)을 공부하게 되서 천천히 쉬운문제부터 풀어보려합니다..

hongku.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기