본문 바로가기

스택3

[프로그래머스 , kotlin] 피로도 연결리스트를 이용한 풀이 ( 스택과 같은 기능으로)fun solution_ff(k: Int, dungeons: Array): Int { val stack = mutableListOf(Triple(k, 0, BooleanArray(dungeons.size))) var maxCount = 0 while (stack.isNotEmpty()) { val (currentK, count, visited) = stack.removeAt(stack.lastIndex) maxCount = maxOf(maxCount, count) for (i in dungeons.indices) { if (!visited[i] && currentK >= dungeo.. 2024. 6. 27.
[프로그래머스 kotlin] 괄호 회전하기 문제 풀이 시간 : 20분, 틀린 횟수 : 1번 (스택에 괄호가 남아 있는 경우를 고려하지 않음 -> 이 경우 예시 ((((, [[{]] 이런 상황  ) 문제 해결 point1. 배열에서 열린 문자를 만난다면 스택에 넣기 ' ( ' , ' { ' , '  [ '  경우에 해당한다. 2. 배열에서 닫힌 문자를 만난다면 2가지 경우의 수. - 스택이 비어 있는 경우 -> 올바른 괄호 문자열을 만들 수 없음!ex)        문자열이      "( ( } ) )" 이런 상황일때 발생 할 수 있다. - 스택에서 pop한 값과 비교해서 한 쌍인지 맞춰보기 , 만약 한 쌍이 아니라면 올바른 괄호 문자열을 만들 수 없음! 올바른 괄호 문자열을 만들 수 있는 상황 ex)      스택에서 pop한 값이 ' ) ' 이.. 2024. 6. 18.
[kotlin] 백준 1874번 : 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 풀이 package org.techtown.part0.kotlin.part2.solvedac import java.util.* fun main() { val s = Scanner(System.`in`) val n = s.nextInt() //입력 var tmp = 0 var remember_num = 0 val st.. 2023. 8. 10.