티스토리 뷰
문제 풀이 아이디어는 Python 풀이와 같습니다. 단지.. 지금 약간 혼동이 오는게,,, 자바와 비슷한 코드로 작성했는데, 코틀린은 시간 초과
가 나고 자바
는 통과되네요.
다른 방식을 생각해야 할 것 같은데,,, 좀 어렵네요.
import java.util.Scanner
fun main(args: Array<String>) {
val sc = Scanner(System.`in`)
val n = sc.nextInt()
val m = sc.nextInt()
val arr = IntArray(n+1) {0}
for (i in 1..n) arr[i] += arr[i-1] + sc.nextInt()
var i: Int
var j: Int
for (k in 0 until m) {
i = sc.nextInt()
j = sc.nextInt()
println(arr[j] - arr[i-1])
}
sc.close()
}
코딩 고수님들 어떻게 풀어야 하는지 알려주세요..
참고로 BufferedReader
로는 이미 시도 해봤습니다만, Scanner
보다 더 빠르게 시간초과가 나네요...
스트링 출력 관련 조언을 하나 들었습니다. println
을 난발하면 출력에 많은 시간이 걸린다는 것입니다. 코틀린과 자바는 매우 비슷하기 때문에 자바에서의 풀이법을 생각하면 충분히 코틀린에서도 가능합니다.
자바도 이와 비슷하게 System.out.println
을 난발하면 출력에 많은 시간이 걸린다고 합니다. 코틀린에서 System.out.println
을 담당하는 것이 println
이기 때문에 이를 stringBuilder에 담아서 한 번에 출력
하는 것이 시간을 줄일 수 있는 방법으로 조언을 들었습니다. 밑은 이를 반영한 코드입니다. 실제로 몇줄 수정 안했습니다. 물론 시간은...하하... 파이썬에 비해서 6배 정도 느리네요. 아마 kotlin compiler에서 시간을 좀 먹는게 아닌가 생각듭니다. 그래도 정말 복잡한 코드이면 당연히 kotlin이 더 빠를겁니다. 인터프리터와 컴파일 언어는 거기서 차이가 나니까유..ㅎㅎ
import java.util.Scanner
fun main(args: Array<String>) {
val sc = Scanner(System.`in`)
val n = sc.nextInt()
val m = sc.nextInt()
val arr = IntArray(n+1) {0}
for (i in 1..n) arr[i] += arr[i-1] + sc.nextInt()
var i: Int
var j: Int
var sb = StringBuilder()
for (k in 0 until m) {
i = sc.nextInt()
j = sc.nextInt()
sb.append((arr[j] - arr[i-1]).toString() + "\n")
}
println(sb)
sc.close()
}
'알고리즘 > BeakJoon' 카테고리의 다른 글
[BOJ] 구간 합 구하기 4 in Python (0) | 2021.12.13 |
---|---|
[BOJ] 구간 합 구하기 5 (0) | 2021.12.10 |
[BOJ] 숨박꼭질 3 in Python (0) | 2021.12.03 |
[BOJ] 청소년 상어 (0) | 2021.12.03 |
[BOJ] 2468 안전 영역 in Python (0) | 2021.11.12 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 비전공싸피합격
- 싸피5기
- 카카오
- DP
- 안드로이드
- Java #객체지향 #상속 #생성자 #개념 #비전공개발자 #FullStack을 #향해
- Java
- 구간 합 구하기 4
- 프로젝트구조
- 보조생성자
- 참조연산자
- 안드로이드 #안드로이드스튜디오 #Kotlin #앱개발 #안드로이드기초 #비전공개발자 #풀스택개발자 #앱개발자
- 앱개발
- 추가합격후기
- 백준알고리즘 #BFS #델타이동 #알고리즘풀이 #개발 #안전영역 #풀스택개발자가되고싶습니다. #노력할래요 # 꾸준히 # 화이팅! #비전공개발자
- Programmers #알고리즘 #Python #KAKAOINTERNSHIP #비전공개발자 #불량사용자
- 알고리즘
- 중첩클래스와 내부클래스
- 일반파라미터
- 백준
- 비전공개발자
- 백준 #숨박꼭질3 #다익스트라 #알고리즘 #비전공개발자 #풀스택 #웹개발 #앱개발 #안드로이드 #python
- 생성자
- 프로그래머스
- 코틀린
- kotlin문법
- 기본생성자
- Kotlin
- Python
- Class
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함