Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

17-suhyun113 #53

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

17-suhyun113 #53

wants to merge 2 commits into from

Conversation

suhyun113
Copy link
Collaborator

@suhyun113 suhyun113 commented Sep 21, 2024

πŸ”— 문제 링크

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

βœ”οΈ μ†Œμš”λœ μ‹œκ°„

μ•½ 1μ‹œκ°„

✨ μˆ˜λ„ μ½”λ“œ

πŸ“Œ1. 문제 μ„€λͺ…
주어진 μˆ˜μ—΄μ„ μŠ€νƒμ„ μ‚¬μš©ν•΄ λ§Œλ“€μ–΄λ‚Ό 수 μžˆλŠ”μ§€ ν™•μΈν•˜κ³ , κ°€λŠ₯ν•˜λ‹€λ©΄ μ–΄λ–€ push (+)와 pop(-) 연산을 μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό 좜λ ₯ν•˜λŠ” λ¬Έμ œμž…λ‹ˆλ‹€.

πŸ§ν•΅μ‹¬ : μŠ€νƒμ˜ ν›„μž…μ„ μΆœ νŠΉμ„±κ³Ό, 수λ₯Ό λ„£λŠ” μˆœμ„œκ°€ λ°˜λ“œμ‹œ μ˜€λ¦„μ°¨μˆœμ΄μ–΄μ•Ό ν•œλ‹€λŠ” 쑰건

πŸ“Œ2. 문제 풀이 논리
πŸš€1) μž…λ ₯ λ°›κΈ°πŸš€

  • λ¨Όμ €, μž…λ ₯으둜 주어진 μˆ˜μ—΄μ„ sequence λ¦¬μŠ€νŠΈμ— μ €μž₯ν•©λ‹ˆλ‹€.

πŸš€2) μŠ€νƒμ— 수λ₯Ό pushν•˜λŠ” κ³Όμ •πŸš€

  • current λ³€μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ μŠ€νƒμ— 넣을 숫자λ₯Ό 1λΆ€ν„° μ‹œμž‘ν•΄ μ°¨λ‘€λŒ€λ‘œ μŠ€νƒμ— λ„£μŠ΅λ‹ˆλ‹€.
  • μŠ€νƒμ— 숫자λ₯Ό 넣을 λ•Œλ§ˆλ‹€ result λ¦¬μŠ€νŠΈμ— +λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€.
  • while문은 currentκ°€ numκ³Ό κ°™μ•„μ§ˆ λ•ŒκΉŒμ§€ κ³„μ†ν•΄μ„œ μŠ€νƒμ— 수λ₯Ό λ„£μŠ΅λ‹ˆλ‹€. μ΄λŠ” μˆ˜κ°€ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ λ“€μ–΄κ°€μ•Ό ν•œλ‹€λŠ” 쑰건을 λ§Œμ‘±μ‹œν‚€κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

πŸš€3) pop μ—°μ‚° μ²˜λ¦¬πŸš€

  • μŠ€νƒμ˜ μ΅œμƒλ‹¨ 값이 μˆ˜μ—΄μ˜ κ°’(num)κ³Ό κ°™λ‹€λ©΄, μŠ€νƒμ—μ„œ κ·Έ 값을 κΊΌλƒ…λ‹ˆλ‹€ (pop).
  • κΊΌλ‚Ό λ•Œλ§ˆλ‹€ result λ¦¬μŠ€νŠΈμ— -λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€.

πŸš€4) λΆˆκ°€λŠ₯ν•œ 경우 μ²˜λ¦¬πŸš€

  • μŠ€νƒμ˜ μ΅œμƒλ‹¨ 값이 ν˜„μž¬ μˆ˜μ—΄μ˜ 값보닀 크닀면, 더 이상 이 값을 λ§Œλ“€ 방법이 μ—†μœΌλ―€λ‘œ μˆ˜μ—΄μ„ λ§Œλ“€ 수 μ—†λ‹€λŠ” λœ»μž…λ‹ˆλ‹€. 이 경우 possible을 False둜 λ°”κΎΈκ³  λ°˜λ³΅μ„ μ’…λ£Œν•©λ‹ˆλ‹€.

πŸš€5) κ²°κ³Ό 좜λ ₯πŸš€

  • possible λ³€μˆ˜κ°€ True라면 result λ¦¬μŠ€νŠΈμ— μ €μž₯된 +와 - 연산을 좜λ ₯ν•©λ‹ˆλ‹€.
  • possible이 False라면 μˆ˜μ—΄μ„ λ§Œλ“€ 수 μ—†μœΌλ―€λ‘œ NOλ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

πŸ“š μƒˆλ‘­κ²Œ μ•Œκ²Œλœ λ‚΄μš©

μŠ€νƒμ„ μ‚¬μš©ν•˜λ©΄μ„œ ν›„μž…μ„ μΆœ νŠΉμ„±μ„ ν™œμš©ν•΄λ³Ό 수 μžˆμ–΄μ„œ μ’‹μ•˜μŠ΅λ‹ˆλ‹€. μŠ€νƒ 문제λ₯Ό μ˜€λžœλ§Œμ— ν’€μ–΄λ΄€λŠ”λ°,
ν•΄λ³΄λ‹ˆ 생각도 λ‚˜κ³  곡뢀할 수 μžˆμ–΄μ„œ μ’‹μ•˜λ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant