μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 | 31 |
- μλ°©ν₯νμ
- subscreen
- Internal Table
- tasknumber
- abap dictionary
- Function Module
- screen program
- screen
- structure
- ABAP
- κΉμ΄μ°μ νμ
- λ°±μ€
- μκ³ λ¦¬μ¦
- select
- μ΄λΆνμ
- μ€λ²2
- PRD
- modify
- call function
- λλΉμ°μ νμ
- qas
- SAP
- λ¨λ°©ν₯νμ
- tμ½λ
- μ€νΈλμ²
- μ€λ²3
- Export
- λͺ¨λν
- Import
- dev
- Today
- Total
CS Student’s SAP&Tech Journeyπ«
[λ°±μ€] 1874λ²: μ€ν μμ΄ λ³Έλ¬Έ
[λ°±μ€] 1874λ²: μ€ν μμ΄
μΈν¬λ§ν± 2024. 11. 11. 12:241. λ°±μ€ 1874λ² μ€ν μμ΄
[λ°±μ€] 1874λ²: μ€ν μμ΄
2. μ€λμ νκ³
0. λ¬Έμ λΆμ
μ€ν (stack)μ κΈ°λ³Έμ μΈ μλ£κ΅¬μ‘° μ€ νλλ‘, μ»΄ν¨ν° νλ‘κ·Έλ¨μ μμ±ν λ μμ£Ό μ΄μ©λλ κ°λ μ΄λ€. μ€νμ μλ£λ₯Ό λ£λ (push) μ ꡬμ μλ£λ₯Ό λ½λ (pop) μ κ΅¬κ° κ°μ μ μΌ λμ€μ λ€μ΄κ° μλ£κ° μ μΌ λ¨Όμ λμ€λ (LIFO, Last in First out) νΉμ±μ κ°μ§κ³ μλ€.
1λΆν° nκΉμ§μ μλ₯Ό μ€νμ λ£μλ€κ° λ½μ λμ΄λμμΌλ‘μ¨, νλμ μμ΄μ λ§λ€ μ μλ€. μ΄λ, μ€νμ push νλ μμλ λ°λμ μ€λ¦μ°¨μμ μ§ν€λλ‘ νλ€κ³ νμ. μμμ μμ΄μ΄ μ£Όμ΄μ‘μ λ μ€νμ μ΄μ©ν΄ κ·Έ μμ΄μ λ§λ€ μ μλμ§ μλμ§, μλ€λ©΄ μ΄λ€ μμλ‘ pushμ pop μ°μ°μ μνν΄μΌ νλμ§λ₯Ό μμλΌ μ μλ€. μ΄λ₯Ό κ³μ°νλ νλ‘κ·Έλ¨μ μμ±νλΌ.
: λ¬Έμ λ₯Ό ν΅ν΄ μ€ν μλ£κ΅¬μ‘°μ λν κ°λ μ νλ² λ μ΅ν μ μλ μ’μ λ¬Έμ μ΄λ€. λ¬Έμ μ λμμλ―μ΄ μ€νμ μλ£λ₯Ό λ£μ μ ꡬμ μλ£λ₯Ό λ½λ μ κ΅¬κ° κ°μ μλ£κ΅¬μ‘°λ‘, νλ°° μνμ°¨ λ°μ€ μκΈ°μ λΉλμ΄ λ§νλ€. λ³΄ν΅ μ΅κ·Ό κ°λ§ νμΈν΄μΌ νλ μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό ν λ μ¬μ©νλ€.
1. μ λ ₯
첫 μ€μ n (1 ≤ n ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° nκ°μ μ€μλ μμ΄μ μ΄λ£¨λ 1 μ΄μ nμ΄νμ μ μκ° νλμ© μμλλ‘ μ£Όμ΄μ§λ€. λ¬Όλ‘ κ°μ μ μκ° λ λ² λμ€λ μΌμ μλ€.
: κ°μ μ«μκ° λμ€λ μΌμ μλ€λ κ²μ μΊμΉνκ³ κ°λ€.
2. μΆλ ₯
μ λ ₯λ μμ΄μ λ§λ€κΈ° μν΄ νμν μ°μ°μ ν μ€μ ν κ°μ© μΆλ ₯νλ€. pushμ°μ°μ +λ‘, pop μ°μ°μ -λ‘ νννλλ‘ νλ€. λΆκ°λ₯ν κ²½μ° NOλ₯Ό μΆλ ₯νλ€.
: μ λ ₯λ μμ΄μ λ§λλ κ³Όμ μ + μ - λ‘ ννν΄μΌ νλ€.
3. λ¬Έμ μ κ·Ό
1λΆν° nκΉμ§μ μλ₯Ό μ€νμ λ£μλ€κ° λ½μ λμ΄λμμΌλ‘μ¨, νλμ μμ΄μ λ§λ€ μ μλ€. μ΄λ, μ€νμ push νλ μμλ λ°λμ μ€λ¦μ°¨μμ μ§ν€λλ‘ νλ€κ³ νμ. μμμ μμ΄μ΄ μ£Όμ΄μ‘μ λ μ€νμ μ΄μ©ν΄ κ·Έ μμ΄μ λ§λ€ μ μλμ§ μλμ§, μλ€λ©΄ μ΄λ€ μμλ‘ pushμ pop μ°μ°μ μνν΄μΌ νλμ§λ₯Ό μμλΌ μ μλ€.
λ¬Έμ λ₯Ό μ΄ν΄νλ κ³Όμ μ΄ νμνλ€. 1λΆν° nκΉμ§ μλ₯Ό μ€λ¦μ°¨μμΌλ‘ push ν μ μκ³ , popμ μκ΄μλ€.
μλ₯Ό λ€μ΄ 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]λ₯Ό μ»μ μ μλ€.
while λ°λ³΅λ¬Έμ νμ©νμ¬ 1λΆν° λΉ λ°°μ΄μ pushλ₯Ό νκ³ κ·Έ κ°(= λ°°μ΄μ λ§μ§λ§ μμ)μ μ λ ₯λ°μ μμ΄μ 첫 μμ 4μ λΉκ΅νλ€. μμκ° κ°μ μ, λ λ€λ₯Έ λΉ λ°°μ΄μ μΆκ°νκ³ pop νλ€. μλ μ +1 νμ¬ push νλ€.
μμ λ³΅μ¬ κΉμ 볡μ¬
μμ 볡μ¬: μλ³Έκ°μ²΄μ μ΅μμ λ λ²¨λ§ λ³΅μ¬νλ€. μλ³Έ κ°μ²΄μ νμ κ°μ²΄λ§ 볡μ¬λλ―λ‘, 볡μ¬λ³Έμ νμ κ°μ²΄λ₯Ό μμ νλ©΄ μλ³Έ κ°μ²΄μλ μν₯μ λ―ΈμΉλ€. μλ₯Ό λ€μ΄ μλλ nlistμ μμ 볡μ¬λ₯Ό ν΅ν΄ rlistλ₯Ό μμ±νλ€. nlistλ μ€μ²©λ 리μ€νΈκ° μλκΈ° λλ¬Έμ rlistκ° nlistμ μ΅μμ μμλ€μ κ·Έλλ‘ λ³΅μ¬νλ μμ 볡μ¬λ₯Ό ν΄λ λ¬Έμ λ λμ§ μλλ€.
rlist = nlist[:]
μμ 볡μ¬: μλ³Έ 리μ€νΈμ λͺ¨λ νμ κ°μ²΄κΉμ§ μμ ν μλ‘μ΄ κ°μ²΄λ‘ 볡μ¬λλ€. λͺ¨λ νμ μμλ₯Ό μ¬κ·μ μΌλ‘ 볡μ¬νλ λ°©λ²μ΄λ€. μ€μ²©λ 리μ€νΈλ κ°μ²΄κ° ν¬ν¨λ κ²½μ°μλ κΉμ 볡μ¬λ₯Ό μ¬μ©ν΄μΌ νλ€.
import copy
nlist = [[1, 2], [3, 4]]
rlist = copy.deepcopy(nlist)
while μ’ λ£μ‘°κ±΄ μ€μ
λ°λ³΅λ¬Έμ΄ 무ν 루νμ λΉ μ§μ§ μλλ‘ μ’ λ£μ‘°κ±΄μ μ μ€μ ν΄μ€μΌ νλ€.
μ λ΅μ½λ
n = int(input())
nlist = []
alist = []
blist = []
cnt = 0
result = []
for i in range(n):
a = int(input())
nlist.append(a)
rlist = nlist[:] # μμ 볡μ¬λ₯Ό νμ§μμΌλ©΄ μ본리μ€νΈκ° λ³ν λ 볡μ¬λ³Έλ ν¨κ» λ³νκ² λλ€
while cnt < n: # 루νλ₯Ό κ°μ μ’
λ£νλ 쑰건μ μ μ€μ ! λ°λ³΅λ¬Έμ΄ 무ν 루νμ λΉ μ§μ§ μκ² κ΄λ¦¬νλ 쑰건
if alist and alist[-1] == nlist[0]:
alist.pop()
blist.append(nlist[0])
nlist.pop(0)
result.append("-")
else:
cnt = cnt+1
alist.append(cnt)
result.append("+")
while alist: # μλ£κ° λ¨μμμλκΉμ§ μ²λ¦¬νλ ν¨ν΄ while 리μ€νΈ:
blist.append(alist.pop())
result.append("-")
if rlist == blist:
print(*result, sep='\n')
else:
print("NO")
'μκ³ λ¦¬μ¦ > λ°±μ€ | νλ‘κ·Έλλ¨Έμ€ | μνν°μ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 2108λ²: ν΅κ³ν (1) | 2024.11.14 |
---|---|
[λ°±μ€] 1436λ²: μνκ°λ μ (1) | 2024.11.09 |
[λ°±μ€] 24444λ²: λλΉ μ°μ νμ1 / λλΉμ°μ νμ BFS (0) | 2024.11.05 |
[νμ΄μ¬] 24479λ²: κΉμ΄ μ°μ νμ1 / κΉμ΄μ°μ νμ DFS (0) | 2024.10.31 |
[νμ΄μ¬] 11561λ²: μ§κ²λ€λ¦¬ / μ΄λΆνμ (1) | 2024.10.30 |