algorithm & data structure
[๋ชจ๋์ ์๊ณ ๋ฆฌ์ฆ] ์ต๋๊ฐ ์ฐพ๊ธฐ
์ฐธ๊ณ ๊ต์ฌ: ๋ชจ๋์ ์๊ณ ๋ฆฌ์ฆ with ํ์ด์ฌ โ ๋ฌธ์ ์ฃผ์ด์ง ์ซ์ n๊ฐ ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ ์ ๋ ฅ: 17, 92, 18, 33, 58, 7, 33, 42 ์ถ๋ ฅ: 92 โ๏ธ ํ์ด python def find_max(numList): max = numList[0] for i in range(0, len(numList)): if max Int { var max = list[0] for i in list { if max < i { max = i } } return max }
[๋ชจ๋์ ์๊ณ ๋ฆฌ์ฆ] 1๋ถํฐ n๊น์ง์ ํฉ ๊ตฌํ๊ธฐ(python, Swift)
์ฐธ๊ณ ๊ต์ฌ: ๋ชจ๋์ ์๊ณ ๋ฆฌ์ฆ with ํ์ด์ฌ โ ๋ฌธ์ 1๋ถํฐ n๊น์ง ์ฐ์ํ ์ซ์์ ํฉ ๊ตฌํ๊ธฐ ์ ๋ ฅ: n ์ถ๋ ฅ: ์ ์๐ ๊ธฐ์กด ํ์ด python def sum_1ton(n): total = 0 for i in range(1, n+1): total += i return totalSwift5 public func sum_1ton(n: Int) -> Int { var sum:Int = 0 for i in 1.. Int { return (n * (n + 1)) / 2 }โ๏ธ ์ฐ์ต๋ฌธ์ // ์ฐ์ต๋ฌธ์ 1-1 public func sumPow_1toN(n: Int) -> Int { var sum = 0 for i in 0...n { sum += Int(pow(Double(i), 2.0)) } return sum } //..
[๋ฐฑ์ค] 5639: ์ด์ง ๊ฒ์ ํธ๋ฆฌ
์ด์ง ํธ๋ฆฌ์ ์ํ ๋ฐฉ์ ์ ์ ์ํ(DLR) โ๏ธ ๋ฐ์ดํฐ->์ผ์ชฝ๋ ธ๋->์ค๋ฅธ์ชฝ๋ ธ๋ ์์์ค์ ์ํ(LDR) ์ผ์ชฝ๋ ธ๋->๋ฐ์ดํฐ->์ค๋ฅธ์ชฝ๋ ธ๋ ์์ํ์ ์ํ(LRD) โ๏ธ ์ผ์ชฝ๋ ธ๋->์ค๋ฅธ์ชฝ๋ ธ๋->๋ฐ์ดํฐ ์์๐ ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/5639 ํ์ด ์ ์ ์ํ์ ์ฒซ ์์๋ ๋ฃจํธ์! ๐ก idea: ์ด์ง ํธ๋ฆฌ๋ฅผ ๊ตฌํด์ ํ์ ์ํํ๊ธฐ ์๊ฐ ์ด๊ณผ... ์ด์ง ํธ๋ฆฌ๋ฅผ ๋ง๋๋ ์๊ฐ + ํ์ ์ํ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด๋ผ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋๋ค.๐ก ์ ์ ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ต๋ํ ํ์ฉํ์! ์ ์ ์ํ์ ์ฒซ ์์๊ฐ ๋ฃจํธ ๋ ธ๋์ด๊ณ , ๋ฃจํธ ๋ ธ๋์ ๋ค์ ๋ ธ๋๊ฐ ๋ฃจํธ๋ณด๋ค ์์ผ๋ฉด ์ผ์ชฝ, ๋ฃจํธ๋ณด๋ค ํฌ๋ฉด ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋๋ค. ์ฐธ๊ณ ํ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์ ๊ฐ๊ฒฉ ํ์ด
์ฃผ์๊ฐ๊ฒฉ ๋ฌธ์ ์คํ Last In First Out(LIFO), ๋์ค์ ๋ค์ด๊ฐ ์์๊ฐ ๋จผ์ ๋์ด push: ์คํ์ ์์ pop: ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ค์ด๊ฐ ์์๋ฅผ ์ ๊ฑฐํ๋ฉฐ ๋ฐํ ํ์ด์ฌ ํ์ด def solution(prices): st=[] answer = [0]*len(prices) for i in range(len(prices)): if st == []: st.append(i) continue else: if prices[i] >= prices[i-1]: st.append(i) else: while prices[i] < prices[i-1] : top = st.pop() answer[top] = i-top if st == []: st.append(i) break top = st.pop() st.append(..
๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ๋ฆฌ์คํธ
๋ฐฐ์ด Array ๋ฐฐ์ด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๋ฃ ๊ตฌ์กฐ, ๊ฐ์ ๋ฐ์ดํฐ ์ ํ์ ๊ฐ์ง ์๋ฃ๋ค์ ๊ทธ๋ฃน/์ธํธ ์ฐ์๋ ๊ธฐ์ต์ฅ์๋ฅผ ๋ฐฐ์ ๋ฐ๋๋ค. ๋ฐฐ์ด๋ช /์์/์ธ๋ฑ์ค ์กด์ฌ ๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐ/์ญ์ ํ๊ธฐ๊ฐ ์ด๋ ต๋ค. ์ด๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ก ํด๊ฒฐ ๊ฐ๋ฅํ๋ค. ๋ฆฌ์คํธ ์ฐจ๋ก๋๋ก ๋์ด๋ ์๋ฃ๋ค์ ๋ชจ์ ๋์ด ์์๊ฐ ์ค์ํ ๊ฒฝ์ฐ๋ ์์(์ ํ๋ฆฌ์คํธ) ์ฌ์ฉ ์์: ์๋ฃ ๊ฒ์, ์ ์ฒด ๊ฒ์/์ํ/์ถ๋ ฅ, ์์ ๋ณ๊ฒฝ, ์ ์ฒด ๋ชฉ๋ก ๊ฐ์ ๊ณ์ฐ, ์๋ฃ ์ถ๊ฐ/์ญ์ /๋ณ๊ฒฝ, ๋น ๋ชฉ๋ก ์ฌ๋ถ ํ๋จ ์ ํ๋ฆฌ์คํธ ์์๋๋ก ๋์ด๋ ๋์ผ ์ ํ์ ํญ๋ชฉ๋ค( ์งํฉ: ํญ๋ชฉ๊ฐ ์์ ๊ฐ๋ X) ์ ํ๋ฆฌ์คํธ์ ์์ ์์ผ(์ผ,์,ํ,...,ํ ) ์์(ใฑ,ใด,ใท,...,ใ ) ํด๋ํฐ ๋ฌธ์ ๋ฉ์์ง ๋ฆฌ์คํธ C++์ ๊ฒฝ์ฐ ๋์ดํ ์๋ฃํ enum ์ ๊ณต enum Day{SUN, MON, TUE, WED, TH..