๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

python38

[LeetCode] 155. Min Stack (Python) 1. ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ : 155. Min Stack ๋ฌธ์ œ ํƒœํฌ : Stack 2. ๋ฌธ์ œ ์„ค๋ช… Implement the MinStack class โ†’ MinStack์˜ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•œ๋‹ค. MinStack() initializes the stack object. โ†’ ์Šคํƒ์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฐ์ฒด ์ƒ์„ฑํ•˜๊ธฐ โ†’ Python์—์„œ๋Š” List๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํƒ์ฒ˜๋Ÿผ ์ž‘์—… ์ˆ˜ํ–‰ void push(int val) pushes the element val onto the stack. โ†’ ์Šคํƒ์— ๊ฐ’์„ ๋„ฃ๊ธฐ void pop() removes the element on the top of the stack. โ†’ ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋„ฃ์—ˆ๋˜ ๊ฐ’ ์ œ๊ฑฐํ•˜๊ธฐ โ†’ ์Šคํƒ์— 1๊ฐœ ์ด์ƒ์˜ ๊ฐ’์ด ์กด์žฌํ•  ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅ int top() gets the top e.. 2024. 3. 13.
[LeetCode] 74. Search a 2D Matrix (Python) 1. ๋ฌธ์ œ https://leetcode.com/problems/search-a-2d-matrix/description/?envType=study-plan-v2&envId=top-interview-150 LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2. ๋ฌธ์ œ ์„ค๋ช… Each row is sorted in non-decreasing order. โ†’ ๊ฐ ํ–‰์€ ์˜ค.. 2024. 2. 7.
[BOJ] 2437๋ฒˆ - ์ €์šธ (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์šฐ์„  ์˜ˆ์‹œ ์ค‘์—์„œ ์ถ” [1, 1, 2]๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด๊ฒŒ๋Š” ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. ๋‹ค๋ฅธ ์˜ˆ์‹œ๋กœ [1, 2, 3]์œผ๋กœ ์ƒ๊ฐํ•ด๋ณด๋ฉด, 1 = 1 2 = 2 3 = 3 4 = 1+3 5 = 2+3 6 = 1+2+3 ์œ„์™€ ๊ฐ™์ด ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ถ”๋“ค์˜ ๋ฌด๊ฒŒ๋ฅผ ํ•ฉํ•œ ๊ฐ’ ์ดํ•˜์˜ ๊ฐ’๋“ค์€ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์ถ”์˜ ๋ฌด๊ฒŒ๋“ค์ด ์ •๋ ฌ์ด ๋˜์–ด์žˆ์–ด์•ผ ํ•˜๋ฉฐ ์ถ”์™€ ์ถ” ์‚ฌ์ด์˜ ๋ฌด๊ฒŒ ์ฐจ์ด๊ฐ€ ํฌ๊ฒŒ ๋‚˜๋ฉด ์•ˆ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ถ” ์‚ฌ์ด์˜ ๋ฌด๊ฒŒ ์ฐจ์ด๊ฐ€ ์–ผ๋งˆ๋งŒํผ ์ฐจ์ด๊ฐ€ ๋‚˜๋ฉด ์•ˆ๋˜๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค. ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์˜ˆ์‹œ๋กœ ํ˜„์žฌ [1, 1, 2, 3]์˜ ์ถ”๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด 7๊นŒ์ง€ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๋‹ค์Œ ์ถ”๊ฐ€ ํ˜„์žฌ ์ธก์ •ํ•  ์ˆ˜ ์—†๋Š” 8๋ณด๋‹ค ์ž‘.. 2023. 10. 27.
[BOJ] 15657๋ฒˆ - N๊ณผM(8) (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ๋ฐฑํŠธ๋ž˜ํ‚น ์—ฐ์Šตํ•˜๊ธฐ ํŽธํ•œ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์˜ค๋Š˜ ํ’€๋ฉด์„œ ํ‹€๋ ธ๋˜ ์ด์œ ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚จ๊ฒจ๋†“์œผ๋ ค๊ณ  ํ•œ๋‹ค. ๋‚ด๊ฐ€ ์ž˜๋ชป ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์€ ํƒ€์ž…์„ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์ •๋ ฌํ•œ ๊ฒƒ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ฒฐ๊ณผ๋ฅผ ์‰ฝ๊ฒŒ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์žํ˜• ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์–ด์ง„ ์˜ˆ์ œ๋Š” ์ „๋ถ€ ํ†ต๊ณผํ•ด ์ œ์ถœํ–ˆ์ง€๋งŒ ํ‹€๋ ธ๋‹ค. ๋‹ค๋ฅธ ๋™์ž‘์˜ ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‚˜ ๊ณ ๋ฏผํ•ด๋ณด์•˜์ง€๋งŒ ์—†์—ˆ๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•ด๋ด๋„ ๋™์ž‘์€ ์™„๋ฒฝํ–ˆ๋‹ค. ๋‹จ ํ•˜๋‚˜ ๋‹ค๋ฅธ ์ ์ด ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด์—ˆ๋Š”๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ [์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜]์ด๋ฏ€๋กœ ์ด๋Š” ์ •์ˆ˜๋กœ ์ •๋ ฌํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ •๋ ฌ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ๐Ÿ€ ํ’€์ด ๐Ÿ€ import sys n, m = map(int, sys.stdin.readline().split()) nums = .. 2023. 10. 5.
[BOJ] 1911๋ฒˆ - ํ™๊ธธ ๋ณด์ˆ˜ํ•˜๊ธฐ (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์ด ๋ฌธ์ œ๋Š” [๋ฌผ์›…๋ฉ์ด๋“ค์„ ๋ชจ๋‘ ๋ฎ์œผ๋ ค๊ณ  ํ•œ๋‹ค.] ๋ผ๋Š” ์กฐ๊ฑด์ด ์žˆ์œผ๋ฏ€๋กœ ๋ฌผ์›…๋ฉ์ด๊ฐ€ ๋ณด์ด๋ฉด ์ผ๋‹จ ๋ฎ์œผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋„๋นค์ง€์˜ ๊ธธ์ด๋Š” ์ •ํ•ด์ ธ ์žˆ์œผ๋ฏ€๋กœ ๋ฎ๋‹ค๋ณด๋ฉด ์ž…๋ ฅ๋ฐ›์€ ๋ฌผ์›…๋ฉ์ด์˜ ์œ„์น˜๊ฐ€ ์ด๋ฏธ ๋ฎ์—ฌ์ ธ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์–ด์ฐจํ”ผ ๋ชจ๋“  ์›…๋ฉ์ด๋Š” ๋ฎ์–ด์•ผํ•˜๋‹ˆ ์›…๋ฉ์ด์˜ [๋ ์œ„์น˜ - ์‹œ์ž‘ ์œ„์น˜]๋ฅผ ํ†ตํ•ด ์›…๋ฉ์ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜์—ฌ ํ•„์š”ํ•œ ๋„๋นค์ง€์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ–ˆ๋‹ค. ๋‹จ, ์œ„์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ์ด๋ฏธ ๋ฎ์—ฌ์ ธ ์žˆ๋Š” ์œ„์น˜๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋กœ current๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‘์–ด ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๋ฎ์—ฌ์ ธ ์žˆ์ง€ ์•Š์€ ์œ„์น˜๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค. ๐Ÿ€ ํ’€์ด ๐Ÿ€ import sys n, l = map(int, sys.stdin.readline().split()) water = [list(map(int, sy.. 2023. 9. 7.
[BOJ] 13549๋ฒˆ - ์ˆจ๋ฐ”๊ผญ์งˆ3 (Python) ๐Ÿ› ๏ธ ๋ฌธ์ œ ๐Ÿ› ๏ธ ๐Ÿ—’๏ธ ์„ค๋ช… ๐Ÿ—’๏ธ ์–ด์ œ ๊ณต๋ถ€ํ•œ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์—ฐ์Šตํ•ด๋ณด์•˜๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ BFS 2๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ํ’€์–ด๋ณด์•˜๋‹ค. (์ฝ”๋“œ๋Š” ์•„๋ž˜์—) 1. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ํ’€์ด 1. ์ˆ˜๋นˆ์ด์˜ ์œ„์น˜๋ฅผ ์‹œ์ž‘ ์ •์ ์œผ๋กœ ๋‘”๋‹ค. 2. ํ˜„์žฌ ์œ„์น˜ i์— +1, -1 *2 ํ•œ ์œ„์น˜์— ๋Œ€ํ•ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์‹œ๊ฐ„ times[k]์™€ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„(times[i] + 1 ๋˜๋Š” times[i])์„ ๋น„๊ตํ•˜์—ฌ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„์ด ๋” ์ž‘์œผ๋ฉด times[k]๋ฅผ ๊ฐฑ์‹ ํ•œ๋‹ค. 3. heap์ด ๋นŒ ๋•Œ๊นŒ์ง€ 2๋ฒˆ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค. ์ด๋•Œ, ์ฃผ์˜ํ•  ์ ์€ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†์ง€๋งŒ ๊ฐ€์ค‘์น˜๋กœ ์ƒ๊ฐํ•œ ๊ฐ’์€ ๋„๋‹ฌํ•œ ์‹œ๊ฐ„์œผ๋กœ times์˜ ๊ฐ’์ด๋‹ค. ๋งŒ์•ฝ ์ด๋ฅผ times๋ฅผ ๋„์ฐฉ ์ •์ ์˜ ๊ฐœ์ˆ˜๋งŒํผ๋งŒ ๋งŒ๋“ค๋ฉด ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์„ ๋„์ถœํ•˜์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค. ์œ„์˜ ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ์˜ˆ.. 2023. 9. 5.
[BOJ] 1753๋ฒˆ - ์ตœ๋‹จ๊ฒฝ๋กœ(Python) + Dijkstra Algorithm ๐Ÿ—’๏ธ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Dijkstra Algorithm) ๋ชจ์„œ๋ฆฌ ๋˜๋Š” ์ •์ ์— ๊ฐ€์ค‘์น˜๊ฐ€ ๋ถ€์—ฌ๋œ ๊ทธ๋ž˜ํ”„์—์„œ ๋‘ ์ •์  ์‚ฌ์ด์˜ ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ทธ๋ž˜ํ”„์—์„œ์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋Š” BFS๋ฅผ ์‚ฌ์šฉ! ์–ด๋–ค ์‹œ์ž‘์  s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ •์ ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋‹ค๋ฅธ ๋ชจ๋“  ์ •์ ์œผ๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š”๋‹ค. ๋‹จ, ์Œ์ˆ˜์ธ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์‹ค์ œ ์ตœ๋‹จ ๊ฒฝ๋กœ๋Š” ์šฐ๋ฆฌ์ง‘์—์„œ ์˜†์ง‘์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, ์šฐ๋ฆฌ์ง‘์—์„œ ์€ํ–‰์„ ๊ฑฐ์ณ ๊ฐ€๋Š” ๊ฒƒ์ด ๋น„์šฉ์ƒ ์ด๋“์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฆ‰, ๊ฐ’์ด ์Œ์ˆ˜์ธ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์žˆ์œผ๋ฉด ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๋„์ค‘์— ์•„์ฃผ ์ž‘์€ ์Œ์ˆ˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ชจ์„œ๋ฆฌ๊ฐ€ ์žˆ์–ด์„œ ์ด๋ฏธ ํŠธ๋ฆฌ์— ๋“ค์–ด์žˆ๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ์™€ ์ „ํ˜€ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋™์ž‘ ๊ณผ์ •(๊ฐ„์„  ์™„ํ™” ๊ณผ์ •) 1. ๋ชจ๋“  ๊ผญ์ง“์ ์„ .. 2023. 9. 4.
[TIL] Make๋ž€? + stack ๋ฌธ์ œ ํ’€์ด 1. Make ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜ ์ฒด์ œ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋นŒ๋“œ ๋„๊ตฌ ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค๋ผ๋ฆฌ์˜ ์˜์กด์„ฑ๊ณผ ๊ฐ ํŒŒ์ผ์— ํ•„์š”ํ•œ ๋ช…๋ น์„ ์ •์˜ํ•จ์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ตœ์ข… ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ณผ์ •์„ ์„œ์ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€์ ์ธ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. Makefile : make๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ”„๋กœ์ ํŠธ์˜ ๋ชฉ๋ก ๋ฐ ์ปดํŒŒ์ผ ๋ฐ ๋งํฌ ๊ทœ์น™ 1. Makefile ์ด ํ•„์š”ํ•œ ์ด์œ  ๋ฐ˜๋ณต๋œ๋Š” ์ปดํŒŒ์ผ ์ž‘์—… ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค. ์ˆ˜์ •๋œ ํŒŒ์ผ๋งŒ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ๋‚˜ ๊ณต๋™ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค. 2. ์ปดํŒŒ์ผ ๊ณผ์ • ์†Œ์Šค ํŒŒ์ผ(*.c) : ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ๋ชฉ์ ํŒŒ์ผ(*.o) : gcc compiler ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑ โ†’ ๊ธฐ๊ณ„์–ด ์ƒ์„ฑ ์‹คํ–‰ํŒŒ์ผ(*.out) : gcc compi.. 2023. 5. 7.
[TIL] C์–ธ์–ด ๊ณต๋ถ€ํ•˜๊ธฐ 1. ์ฝ”๋“œ refactoring 1. 12891๋ฒˆ - DNA ๋น„๋ฐ€๋ฒˆํ˜ธ import sys s, p = map(int, sys.stdin.readline().split()) dna = list(sys.stdin.readline().strip()) # A, C, G, T esssential = list(map(int, sys.stdin.readline().split())) def remove(st) : global a, c, g, t if dna[st] == 'A' : a -= 1 elif dna[st] == 'C' : c -= 1 elif dna[st] == 'G' : g -= 1 elif dna[st] == 'T' : t -= 1 return 0 def add(e) : global a, c, g, t i.. 2023. 5. 4.
[TIL] ๋ฌธ์ œ ํ’€์ด ์—ฐ์Šต - two point (with python) 1. ๋ฌธ์ œ ํ’€์ด ์—ฐ์Šต 1. 2018๋ฒˆ - ์ˆ˜๋“ค์˜ ํ•ฉ import sys N = int(sys.stdin.readline()) start = 1 # ํ˜„์žฌ ๋”ํ•œ ๊ฐ’ ์ค‘ ์ฒซ๋ฒˆ์งธ ๊ฐ’ end = 1 # ํ˜„์žฌ ๋”ํ•œ ๊ฐ’ ์ค‘ ๋งˆ์ง€๋ง‰ ๊ฐ’ count = 1 # ์ž๊ธฐ ์ž์‹  ํฌํ•จ sum = 1 # ์ด ๋”ํ•œ ๊ฐ’ # ์ตœ์†Œ 2๊ฐœ์˜ ์—ฐ์†๋œ ์ž์—ฐ์ˆ˜์˜ ํ•ฉ์ด์–ด์•ผ ํ•˜๋ฏ€๋กœ # start๋Š” N์˜ ์ ˆ๋ฐ˜๋ณด๋‹ค ํด ์ˆ˜ ์—†๋‹ค. while start != N // 2 + 1 : if sum < N : # ์•„์ง ๋ˆ„์ ํ•ฉ์ด N๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ end += 1 sum += end elif sum == N : # N๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ count += 1 sum -= start start += 1 else : # N๋ณด๋‹ค ํด ๊ฒฝ์šฐ sum -= start start += 1.. 2023. 5. 3.
[TIL] ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ ํ’€์ด3 1. ๋ฌธ์ œ ํ’€์ด ์—ฐ์Šต 1. 11660๋ฒˆ - ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 import sys N, M = map(int, sys.stdin.readline().split()) table = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] # ๋ˆ„์ ํ•ฉ์„ ์ €์žฅํ•  ์ด์ฐจ์› ๋ฐฐ์—ด dp = [[0] * (N+1) for _ in range(N+1)] for i in range(1, N+1) : for j in range(1, N+1) : dp[i][j] = table[i-1][j-1] + dp[i][j-1] + dp[i-1][j] - dp[i-1][j-1] # ์›ํ•˜๋Š” ๊ตฌ๊ฐ„ํ•ฉ ๊ตฌํ•˜๊ธฐ for _ in range(M) : x1,y1,x2,y2 = map(int, s.. 2023. 5. 2.
[TIL] ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ ํ’€์ด + ๊ธฐ๊ณ„ ์ˆ˜์ค€ ํ‘œํ˜„1 1. ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ ํ’€์ด 1. 1931๋ฒˆ - ํšŒ์˜์‹ค ๋ฐฐ์ • import sys N = int(sys.stdin.readline()) # meeting[0] : ์‹œ์ž‘ ์‹œ๊ฐ„ / meeting[1] : ๋๋‚˜๋Š” ์‹œ๊ฐ„ meeting = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] meeting.sort(key= lambda x : (x[1], x[0])) count = 1 prev = meeting[0][1] # ์•ž ํšŒ์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„ for i in range(1, N) : # ๋งŒ์•ฝ ํ˜„์žฌ ํšŒ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„์ด ์•ž ํšŒ์˜ ์‹œ๊ฐ„๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด if prev people[i][1] : count += 1 interview = people[i][1] pr.. 2023. 5. 1.
[TIL] Algorithm - Greedy ๊ธฐ๋ณธ ๋ฌธ์ œ ํ’€์ด 1. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜) ํ•ญ์ƒ ๊ฐ ๋‹จ๊ณ„์— ์žˆ์–ด์„œ ๊ฐ€์žฅ ์ข‹์„ ๊ฑฐ๋ผ ์ƒ๊ฐ๋˜๋Š” ์„ ํƒ์„ ํ•œ๋‹ค. ์ด ์„ ํƒ์ด ์ „์ฒด์ ์œผ๋กœ ์ตœ์ ํ•ด๋กœ ์•ˆ๋‚ดํ•˜๊ฒŒ ๋  ๊ฑฐ๋ผ๋Š” ๋ฐ”๋žŒ์„ ๊ฐ€์ง€๊ณ  ๋ถ€๋ถ„์ ์œผ๋กœ ์ตœ์ ์ธ ์„ ํƒ์„ ํ•œ๋‹ค. ์–ธ์ œ๋‚˜ ์ตœ์ ์˜ ํ•ด๋‹ต์„ ๊ตฌํ•˜์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ ๋งŽ์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๋ฅผ ๊ตฌํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 1. 11047๋ฒˆ - ๋™์ „ 0 import sys N, K = map(int, sys.stdin.readline().split()) # ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค. coin = [int(sys.stdin.readline()) for _ in range(N)] count = 0 # ๋™์ „์˜ ๊ฐ€์น˜๊ฐ€ ๊ฐ€์žฅ ํฐ ๋™์ „๋ถ€ํ„ฐ ๋ฐ˜๋ณต ์‹œ์ž‘ for i in range(N-1, -1, -1) : if K == 0 : break # ํ˜„์žฌ K๋ณด๋‹ค ์ž‘์€ ์ˆ˜.. 2023. 4. 30.
[TIL] ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ ํ’€์ด2 1. 11049๋ฒˆ - ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆœ์„œ 1. ์ตœ์  ๊ด„ํ˜ธ ๋ฌถ๊ธฐ์˜ ๊ตฌ์กฐ : n๊ฐœ์˜ ํ–‰๋ ฌ์„ ์–ด๋–ป๊ฒŒ ๊ณฑํ• ์ง€ ์• ๋งคํ•จ์„ ์—†์• ๊ธฐ ์œ„ํ•ด ๊ด„ํ˜ธ๋กœ ๋ฌถ๋Š”๋‹ค. ex) ((A1, A2), A3) or (A1, (A2, A3)) ์ด ๋ฌธ์ œ๋Š” n๊ฐœ์˜ ํ–‰๋ ฌ๋“ค์˜ ์ฒด์ธ ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ A1, A2, ... , An์˜ ์Šค์นผ๋ผ ๊ณฑ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ตœ์†Œํ™” ํ•˜๋„๋ก ๊ด„ํ˜ธ๋ฅผ ๋ฌถ์–ด๋ผ! ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. AiAi+1...Aj๋ฅผ ๊ด„ํ˜ธํ˜ธ ์ตœ์ ์œผ๋กœ ๋ฌถ๊ธฐ ์œ„ํ•ด Ak Ak+1์˜ ์‚ฌ์ด์—์„œ ๋‚˜๋ˆˆ๋‹ค๊ณ  ๊ฐ€์ • AiAi+1...Ak Ak+1Ak+2...Aj ์œ„์˜ ๋‘ ๋ถ€๋ถ„๋ฌธ์ œ๋Š” ๊ฐ๊ฐ ์ตœ์  ๊ด„ํ˜ธ ๋ฌถ๋Š” ๋ฐฉ๋ฒ•์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. 2. ์žฌ๊ท€ํ•ด i == j ์ผ ๊ฒฝ์šฐ 0 i < j ์ผ ๊ฒฝ์šฐ โ†’ k, k+1๋กœ ๋‚˜๋ˆˆ๋‹ค. Ai = pi-1 * pi ๋ผ๋ฉด Ai..kAk+1..j = pi-1 *pk.. 2023. 4. 29.
[TIL] ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ์ œ ํ’€์ด 1. DP ๋ฌธ์ œ ํ’€์ด 1. 9084๋ฒˆ - ๋™์ „ import sys T = int(sys.stdin.readline()) for _ in range(T) : N = int(sys.stdin.readline()) coin = list(map(int, sys.stdin.readline().split())) M = int(sys.stdin.readline()) dp = [0] * (M+1) # ๊ฐ๊ฐ์˜ ๊ธˆ์•ก์— ๋Œ€ํ•œ ๋™์ „์œผ๋กœ ๋งŒ๋“ค ๋ชจ๋“  ๋ฐฉ๋ฒ•์˜ ์ˆ˜ ์ €์žฅ dp[0] = 1 # ๊ธฐ์ € ๊ฐ’์œผ๋กœ ์ง€์ • for c in coin : for i in range(1, M+1) : if i >= c : dp[i] += dp[i-c] print(dp[M]) ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ € ๋ฐฉ์‹์„ ์ƒ๊ฐํ•ด๋‚ด๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ํž˜๋“ค.. 2023. 4. 28.
[TIL] Algorithm - ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ 1. ๊ทธ๋ž˜ํ”„ ๋ฌธ์ œ ํ’€์ด 1. 1388๋ฒˆ - ๋ฐ”๋‹ฅ ์žฅ์‹ import sys N, M = map(int, sys.stdin.readline().split()) graph = [list(sys.stdin.readline().strip()) for _ in range(N)] visited = [[0] * M for _ in range(N)] # ๊ฐ™์€ ํ–‰์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•˜๋ฏ€๋กœ ์—ด ๋ฒˆํ˜ธ ์ฆ๊ฐ€ def col(x, y) : visited[x][y] = 1 stack = [(x, y)] while stack : curx, cury = stack.pop() for i in range(1, M) : ny = cury + i if ny < M and graph[curx][ny] == '-' and visited[curx.. 2023. 4. 27.
[TIL] ์œ„์ƒ ์ •๋ ฌ ๋ฌธ์ œ ํ’€์ด + Computer System2 1. ์œ„์ƒ ์ •๋ ฌ ๋ฌธ์ œ ํ’€์ด 1. 2637๋ฒˆ - ์žฅ๋‚œ๊ฐ ์กฐ๋ฆฝ import sys from collections import deque N = int(sys.stdin.readline()) M = int(sys.stdin.readline()) basic = [[] for _ in range(N)] inDegree = [0] * N for _ in range(M) : x, y, k = map(int, sys.stdin.readline().split()) basic[y-1].append((x-1, k)) inDegree[x-1] += 1 def topologicalsort() : # component[x][y] -> x๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ y์˜ ๊ฐœ์ˆ˜ component = [[0] * N for _ in range.. 2023. 4. 26.
[TIL] Algorithm - ์œ„์ƒ ์ •๋ ฌ + ํ”Œ๋กœ์ด๋“œ-์›Œ์…œ 1. ๊ทธ๋ž˜ํ”„ ๋ฌธ์ œ ํ’€์ด 1. 2573๋ฒˆ - ๋น™์‚ฐ โ–ถ BFS๋ฅผ ์ด์šฉํ•œ ํ’€์ด import sys from collections import deque N, M = map(int, sys.stdin.readline().split()) iceberg = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] # ๋น™์‚ฐ ๋…น์ด๋Š” ํ•จ์ˆ˜ def melting() : change = [] for i in range(1, N-1) : for j in range(1, M-1) : if iceberg[i][j] != 0 : sea = 0 # ํ˜„์žฌ ์œ„์น˜์—์„œ 0๊ณผ ๋งž๋‹ฟ์•„ ์žˆ๋Š” ๊ฐœ์ˆ˜ for k in ran.. 2023. 4. 25.
728x90