반응형
https://www.acmicpc.net/problem/17298
17298번: 오큰수
첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다.
www.acmicpc.net

import java.util.Scanner
import java.util.Stack
fun main() {
val sc = Scanner(System.`in`)
val sb = StringBuilder()
var n = sc.nextInt()
var stack = Stack<Int>()
var s = IntArray(n)
for (i in 0 until n){
s[i] = sc.nextInt()
}
for (i in 0 until n){
while (!stack.isEmpty() && s[stack.peek()] < s[i]){
s[stack.pop()] = s[i]
}
stack.push(i)
}
while (!stack.isEmpty()){
s[stack.pop()] = -1
}
for (i in 0 until n){
sb.append(s[i]).append(' ')
}
println(sb)
}
반응형
'Algorithm > [알고리즘]BACKJOON - Java&Kotlin' 카테고리의 다른 글
백준 Kotlin 4948번 : 베르트랑 공준 (0) | 2022.05.11 |
---|---|
백준 Kotlin 1158번 : 요세푸스 문제 (0) | 2022.05.09 |
백준 Kotlin 1463번 : 1로 만들기 (0) | 2022.05.07 |
백준 Kotlin 9020번 : 골드바흐의 추측 (0) | 2022.04.27 |
백준 Kotlin 11729번 : 하노이 탑 이동 순서 (0) | 2022.04.21 |
반응형
https://www.acmicpc.net/problem/17298
17298번: 오큰수
첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다.
www.acmicpc.net

import java.util.Scanner
import java.util.Stack
fun main() {
val sc = Scanner(System.`in`)
val sb = StringBuilder()
var n = sc.nextInt()
var stack = Stack<Int>()
var s = IntArray(n)
for (i in 0 until n){
s[i] = sc.nextInt()
}
for (i in 0 until n){
while (!stack.isEmpty() && s[stack.peek()] < s[i]){
s[stack.pop()] = s[i]
}
stack.push(i)
}
while (!stack.isEmpty()){
s[stack.pop()] = -1
}
for (i in 0 until n){
sb.append(s[i]).append(' ')
}
println(sb)
}
반응형
'Algorithm > [알고리즘]BACKJOON - Java&Kotlin' 카테고리의 다른 글
백준 Kotlin 4948번 : 베르트랑 공준 (0) | 2022.05.11 |
---|---|
백준 Kotlin 1158번 : 요세푸스 문제 (0) | 2022.05.09 |
백준 Kotlin 1463번 : 1로 만들기 (0) | 2022.05.07 |
백준 Kotlin 9020번 : 골드바흐의 추측 (0) | 2022.04.27 |
백준 Kotlin 11729번 : 하노이 탑 이동 순서 (0) | 2022.04.21 |