๐ง ๋ฌธ์ ์์๊ฐ N๋ช
์ด ์๋๋ฐ, ์๋ก ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ๊ฒ ๋ค๊ณ ํ๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ ์์๋ฅผ ๊ฒฐ์ ํ๊ธฐ๋ก ํ๋ค. ์์ ์์๋ค์ ๋์ด ์์ผ๋ก 1~N๋ฒ๊น์ง ์ฐจ๋ก๋ก ๋ฒํธ๋ฅผ ๋งค๊ธด๋ค. ๊ทธ๋ฆฌ๊ณ 1๋ฒ ์์๋ถํฐ N๋ฒ ์์๊น์ง ์์๋๋ก ์๊ณ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ฉฐ ๋๊ทธ๋๊ฒ ์๊ฒ ํ๋ค. ๊ทธ๋ฆฌ๊ณ 1๋ฒ ์์๋ถํฐ ์๊ณ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ฉด 1๋ถํฐ ์์ํ์ฌ ๋ฒํธ๋ฅผ ์ธ์น๊ฒ ํ๋ค. ํ ์์๊ฐ ํน์ ์ซ์ K๋ฅผ ์ธ์น๋ฉด ๊ทธ ์์๋ ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ๋๋ฐ์ ์ ์ธ๋๊ณ , ์ ๋ฐ์ผ๋ก ๋์ค๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์์๋ถํฐ ๋ค์ 1๋ถํฐ ์์ํ์ฌ ๋ฒํธ๋ฅผ ์ธ์น๋ค. ์ด๋ ๊ฒ ํด์ ๋ง์ง๋ง๊น์ง ๋จ์ ์์๊ฐ ๊ณต์ฃผ๋ฅผ ๊ตฌํ๋ฌ ๊ฐ ์ ์๋ค.์๋ฅผ ๋ค์ด 8๋ช
์ ์์๊ฐ ์์ ๋, 3์ ์ธ์น ์์๊ฐ ์ ์ธ๋๋ค๊ณ ํ์. ์ฒ์์ 3๋ฒ ์์๊ฐ 3์ ์ธ์ณ ์ ์ธ๋๋ฉฐ, ์ด์ด ..
๐ง ์ฝ๋ฉํ ์คํธ
๐ง ๋ฌธ์ N๊ฐ์ ๋ง๊ตฌ๊ฐ์ด 1์ฐจ์ ์์ง์ ์์ ์์ต๋๋ค. ๊ฐ ๋ง๊ตฌ๊ฐ์ X1, X2, X3 ... XN์ ์ขํ๋ฅผ ๊ฐ์ง๋ฉฐ, ๋ง๊ตฌ๊ฐ๊ฐ์ ์ขํ๊ฐ ์ค๋ณต๋๋ ๋ ์ผ์ ์์ต๋๋ค.ํ์๋ C๋ง๋ฆฌ์ ๋ง์ ๊ฐ์ง๊ณ ์๋๋ฐ, ์ด ๋ง๋ค์ ์๋ก ๊ฐ๊น์ด ์๋ ๊ฒ์ ์ข์ํ์ง ์์ต๋๋ค. ๊ฐ๋ง๊ตฌ๊ฐ์๋ ํ ๋ง๋ฆฌ์ ๋ง๋ง ๋ฃ์ ์ ์๊ณ , ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋ง์ ๊ฑฐ๋ฆฌ๊ฐ ์ต๋๊ฐ ๋๊ฒ ๋ง์ ๋ง๊ตฌ๊ฐ์ ๋ฐฐ์นํ๊ณ ์ถ์ต๋๋ค. C๋ง๋ฆฌ์ ๋ง์ N๊ฐ์ ๋ง๊ตฌ๊ฐ์ ๋ฐฐ์นํ์ ๋, ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ๋ง์ ๊ฑฐ๋ฆฌ๊ฐ ์ต๋๊ฐ ๋๋ ๊ทธ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. โจ 1ํธ (๊ฐ์ ํ์ด)๋ง๊ตฟ๊ฐ์ ์์น๋ฅผ ์ ๋ ฌํด์ค๋ค. 1 2 4 8 9๋ต์ ๋ฒ์ : ์ต์๊ฐ ~ ์ต๋๊ฐ ์ฌ์ด ๐ 1 ~ 9๋ ๋ง์ ๊ฑฐ๋ฆฌ๊ฐ ์ต๋๊ฐ ๋์ผ ํ๊ธฐ ๋๋ฌธ์, 1 ์์น๋ถํฐ ๋ฃ์ด๋ณธ๋ค. 1. mid = (1+9..
๐ง ๋ฌธ์ DVD์๋ ์ด N๊ฐ์ ๊ณก์ด ๋ค์ด๊ฐ๋ค. DVD์ ๋
นํํ ๋์๋ ๋ผ์ด๋ธ์์์ ์์๊ฐ ๊ทธ๋๋ก ์ ์ง๋์ด์ผ ํ๋ค. ์ฆ, 1๋ฒ ๋
ธ๋์ 5๋ฒ ๋
ธ๋๋ฅผ ๊ฐ์ DVD์ ๋
นํํ๊ธฐ ์ํด์๋ 1๋ฒ๊ณผ 5๋ฒ ์ฌ์ด์ ๋ชจ๋ ๋
ธ๋๋ ๊ฐ์ DVD์ ๋
นํํด์ผ ํ๋ค.M๊ฐ์ DVD์ ๋ชจ๋ ๋์์์ ๋
นํํ๊ธฐ๋ก ํ์๋ค. ์ด๋ DVD์ ํฌ๊ธฐ๋ฅผ ์ต์๋ก ํ๋ คํ๋ค. ๊ทธ๋ฆฌ๊ณ M๊ฐ์ DVD๋ ๋ชจ๋ ๊ฐ์ ํฌ๊ธฐ์ฌ์ผ ์ ์กฐ์๊ฐ๊ฐ ์ ๊ฒ ๋ค๊ธฐ ๋๋ฌธ์ ๊ผญ ๊ฐ์ ํฌ๊ธฐ๋ก ํด์ผ ํ๋ค. โจ 1ํธ (์ฑ๊ณต)์ค๋๋ง์ ์ฑ๊ณต.. /(ใoใ)/~~#include #include #include using namespace std;int main(void){ freopen("input.txt", "rt", stdin); int n, m, cnt = 0, total = 0; c..
๐ง ๋ฌธ์ ์์์ N๊ฐ์ ์ซ์๊ฐ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋๋ค.N๊ฐ์ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค์ N๊ฐ์ ์ ์ค ํ ๊ฐ์ ์์ธ M์ด ์ฃผ์ด์ง๋ฉด ์ด๋ถ๊ฒ์์ผ๋ก M์ด ์ ๋ ฌ๋ ์ํ์์ ๋ช ๋ฒ์งธ์ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. โจ 1ํธ (์ฑ๊ณต)#include #include #include using namespace std;int main(void){ freopen("input.txt", "rt", stdin); int n, m; cin >> n >> m; vector a(n); for(int i = 0; i > a[i]; } sort(a.begin(), a.end()); int left = 0; int right = n-1; int mid; while(left m){ right = mid - 1; ..
๐ง ๋ฌธ์ ์
๋ ฅ์ผ๋ก ์์ ์ ์ N์ด ์
๋ ฅ๋๋ฉด 2๊ฐ ์ด์์ ์ฐ์๋ ์์ฐ์์ ํฉ์ผ๋ก ์ ์ N์ ํํํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๋ง์ฝ N=15์ด๋ฉด7+8 = 154+5+6 = 151+2+3+4+5 = 15์ ๊ฐ์ด ์ด 3๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค. โจ 1ํธ (์คํจ)์์์๋ถํฐ ๋ํด๋ณธ๋ค ๐ ๊ฐ์ ๊ฒฝ์ฐ ์ถ๋ ฅํ๊ณ , ์ปค์ง๋ฉด ๊ฐ์ฅ ํฐ ์๋ฅผ ๋นผ์ ํ์ธํด๋ณด๊ธฐ1~5, 4~6 ์ฒ๋ผ ๊ฒน์น๋ ๊ฒฝ์ฐ์ ๋ํด์ ๋๋น๊ฐ ์๋จ โจ 2ํธ (๊ฐ์ ํ์ด)์ ๋ง ์์ฒญ๋ ํ์ด์ธ ๊ฒ..์ฃผ์ด์ง n -1 -2 ๋ฅผ ํด์ค๋ค. ๐ ๊ทธ ์์ % 2(๋บ ์์ ๊ฐฏ์), / 2๋ฅผ ํด์ค๋ค ๐ 1+6, 2+6 = 7 + 8 = 15๊ฐ ๋๋ค.๋๋จธ์ง๊ฐ 0๊ฐ์ด๋ฉด ๋ํด์ ๋ง๋ค์ด์ง๋ค๋ ๋ป#include #include #include using namespac..
๐ง ๋ฌธ์ ๋ ์งํฉ A, B๊ฐ ์ฃผ์ด์ง๋ฉด ๋ ์งํฉ์ ๊ต์งํฉ์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๐ง ์
๋ ฅ์ฒซ ๋ฒ์งธ ์ค์ ์งํฉ A์ ํฌ๊ธฐ N์ด ์ฃผ์ด์ง๋ค.๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ์์๊ฐ ์ฃผ์ด์ง๋ค. ์์๊ฐ ์ค๋ณต๋์ง ์๋๋ค.์ธ ๋ฒ์งธ ์ค์ ์งํฉ B์ ํฌ๊ธฐ M์ด ์ฃผ์ด์ง๋ค.๋ค ๋ฒ์งธ ์ค์ M๊ฐ์ ์์๊ฐ ์ฃผ์ด์ง๋ค. ์์๊ฐ ์ค๋ณต๋์ง ์๋๋ค.๊ฐ ์งํฉ์ ์์๋ intํ ๋ณ์์ ํฌ๊ธฐ๋ฅผ ๋์ง ์๋๋ค. ๐ง ์ถ๋ ฅ๋ ์งํฉ์ ๊ต์งํฉ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ค. ๐ง 1ํธ (๊ฐ์ ํ์ด)์ด์ค for๋ฌธ ์ฌ์ฉ ์ง์a์ b๋ฐฐ์ด์ ์ ๋ ฌํ๊ณ ๋น๊ตํด์ฃผ์ด์ผ ํ๋ค. ๋น๊ตํด์ ๋ค๋ฅด๋ฉด ๐ ์์ ์ซ์๊ฐ ์๋ ๋ฐฐ์ด์ ์์น๋ฅผ ์ด๋๋น๊ตํด์ ๊ฐ์ผ๋ฉด ๐ ๋ ๋ฐฐ์ด์ ์์น๋ฅผ ๋ชจ๋ ์ฆ๊ฐ์ํจ๋ค & c๋ฐฐ์ด์ ๋ฃ์ด์ค๋ค.ํ ๋ฐฐ์ด์ด ๋๋๋ฉด while๋ฌธ ๋ & c๋ฐฐ์ด ์ถ๋ ฅ#inclu..
๐ง ๋ฌธ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ด ๋ ๋ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ฉด ๋ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ํฉ์ณ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๐ง ์
๋ ฅ์ฒซ ๋ฒ์งธ ์ค์๋ ์ฒซ ๋ฒ์งธ ๋ฐฐ์ด์ ํฌ๊ธฐ N์ด ์ฃผ์ด์ง๋ค.๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ๋ฐฐ์ด ์์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ฃผ์ด์ง๋ค.์ธ ๋ฒ์งธ ์ค์๋ ๋ ๋ฒ์งธ ๋ฐฐ์ด์ ํฌ๊ธฐ M์ด ์ฃผ์ด์ง๋ค.๋ค ๋ฒ์งธ ์ค์ M๊ฐ์ ๋ฐฐ์ด ์์๊ฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ฃผ์ด์ง๋ค.๊ฐ ๋ฐฐ์ด์ ์์๋ intํ ๋ณ์์ ํฌ๊ธฐ๋ฅผ ๋์ง ์๋๋ค. ๐ง ์ถ๋ ฅ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค. ๐ง 1ํธ (๊ฐ์ ํ์ด)a ๋ฐฐ์ด๊ณผ b ๋ฐฐ์ด์ ๋๊ณ , ๊ฐ ๋ฐฐ์ด์ ๊ฐ๋ค์ ๋น๊ตํ์ฌ c ๋ฐฐ์ด์ ์ฝ์
ํ๋ค.ํ์ชฝ์ด ๋๋๋ฉด ์ค์งํ๊ณ , ๋๋จธ์ง๋ฅผ c ๋ฐฐ์ด์ ๋ฃ์ด์ ๊ตฌํํ๋ค.#include #include #include using namespace std;int a[101], b[10..
๐ง ๋ฌธ์ 1๋ถํฐ n๊น์ง์ ์๋ฅผ ํ ๋ฒ์ฉ๋ง ์ฌ์ฉํ์ฌ ์ด๋ฃจ์ด์ง ์์ด์ด ์์ ๋, 1๋ถํฐ n๊น์ง ๊ฐ๊ฐ์ ์ ์์ ๋์ฌ ์๋ ์์ ๋ณด๋ค ํฐ ์๋ค์ ๊ฐ์๋ฅผ ์์ด๋ก ํํํ ๊ฒ์ Inversion Sequence๋ผ ํ๋ค. ์) 4 8 6 2 5 1 3 71์์ ๋์ธ 1๋ณด๋ค ํฐ ์๋ 4 8 6 2 5 ๐ 5๊ฐ2์์ ๋์ธ 2๋ณด๋ค ํฐ ์๋ 4 8 6 ๐ 3๊ฐ3์์ ๋์ธ 3๋ณด๋ค ํฐ ์๋ 4 8 6 5 ๐ 4๊ฐ ๋ฐ๋ผ์ 4 8 6 2 5 1 3 7์ inversion sequence๋ 5 3 4 0 2 1 1 0 ์ด ๋๋ค.n๊ณผ 1๋ถํฐ n๊น์ง์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฃจ์ด์ง ์์ด์ inversion sequence๊ฐ ์ฃผ์ด์ก์ ๋, ์๋์ ์์ด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ๐ง ์
๋ ฅ85 3 4 0 2 1 1 0 ๐ง ์ถ๋ ฅ4 8 ..
๐ง ๋ฌธ์ LRU ์๊ณ ๋ฆฌ์ฆ : Least Recently Used. ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋์ง ์์ ๊ฒ. ์บ์์์ ์์
์ ์ ๊ฑฐํ ๋ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ์ ๊ฑฐํ๊ฒ ๋ค๋ ์๊ณ ๋ฆฌ์ฆ. ๋ง์ฝ ์บ์์ ์ฌ์ด์ฆ๊ฐ 5์ด๊ณ , ์์
์ด 2 3 1 6 7 ์์ผ๋ก ์ ์ฅ๋์ด ์๋ค๋ฉด(๋งจ ์์ด ๊ฐ์ฅ ์ต๊ทผ์ ์ฐ์ธ ์์
์ด๊ณ , ๋งจ ๋ค๋ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฐ์ด์ง ์์ ์์
) 1. cache miss : ํด์ผํ ์์
์ด ์บ์์ ์๋ ์ํ. ์์ํ์์ ๋ง์ฝ ์๋ก์ด ์์
์ธ 5๋ฒ ์์
์ cpu๊ฐ ์ฌ์ฉํ๋ค๋ฉด cache miss๊ฐ ๋๊ณ , ๋ชจ๋ ์์
์ด ๋ค๋ก ๋ฐ๋ฆฌ๊ณ 5๋ฒ ์์
์ ์บ์์ ๋งจ ์์ ์์นํ๋ค. 5 2 3 1 6 (7๋ฒ ์์
์ ์บ์์์ ์ญ์ ๋๋ค) 2. cache hit : ํด์ผํ ์์
์ด ์บ์์ ์๋ ์ํ๋ก ์ ์ํ์์ ๋ง์ฝ 3๋ฒ ์์
์ cpu๊ฐ ..
๐ง ๋ฌธ์ N๊ฐ์ ์ซ์๊ฐ ์
๋ ฅ๋๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ์ฝ์
์ ๋ ฌ์
๋๋ค. ๐ง ์
๋ ฅ์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋๋ค.๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์
๋ ฅ๋ฉ๋๋ค. ๊ฐ ์์ฐ์๋ ์ ์ํ ๋ฒ์ ์์ ์์ต๋๋ค. ๐ง ์ถ๋ ฅ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์์ด์ ์ถ๋ ฅํฉ๋๋ค. ๐ง 1ํธ (๊ฐ์ ํ์ด)#include #include #includeusing namespace std;int main(void){ freopen("input.txt", "rt", stdin); int n, temp, j; int a[101]; cin >> n; for(int i = 0; i > a[i]; } for(int i = 1; i = 0; --j){ if(a[j] > temp..
๐ง ๋ฌธ์ N๊ฐ์ ์ ์๊ฐ ์
๋ ฅ๋๋ฉด ๋น์ ์ ์
๋ ฅ๋ ๊ฐ์ ์ ๋ ฌํด์ผ ํ๋ค.์์ ์ ์๋ ์์ชฝ์, ์์ ์ ์๋ ๋ท์ชฝ์ ์์ด์ผ ํฉ๋๋ค. ๋ํ ์์ ์ ์์ ์์ ์ ์์ ์์์๋ ๋ณํจ์ด ์์ด์ผ ํ๋ค. ๐ง ์
๋ ฅ์ฒซ ๋ฒ์งธ ์ค์ ์ ์ N์ด ์ฃผ์ด์ง๊ณ , ๊ทธ ๋ค์ ์ค๋ถํฐ ์์๋ฅผ ํฌํจํ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ซ์ 0์ ์
๋ ฅ๋์ง ์๋๋ค. ๐ง ์ถ๋ ฅ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.๐ง 1ํธ (๊ฐ์ ํ์ด)๋ฒ๋ธ ์ ๋ ฌ ํ์ฉ์์์ ์์๊ฐ ๋ง๋๋ฉด ์์น๋ฅผ ๋ณ๊ฒฝํด์ค๋ค. ์์๊ฐ ์์ ์๋ ๊ฒฝ์ฐ#include #include #includeusing namespace std;int main(void){ freopen("input.txt", "rt", stdin); int n, temp; int a[101]; cin >> n; for(int i = 0; i > ..
๐ง ๋ฌธ์ N๊ฐ์ ์ซ์๊ฐ ์
๋ ฅ๋๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฒ๋ธ์ ๋ ฌ์
๋๋ค. ๐ง ์
๋ ฅ์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋๋ค.๋ ๋ฒ์งธ ์ค์ N๊ฐ์ ์์ฐ์๊ฐ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์
๋ ฅ๋ฉ๋๋ค. ๊ฐ ์์ฐ์๋ ์ ์ํ ๋ฒ์ ์์ ์์ต๋๋ค. ๐ง ์ถ๋ ฅ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์์ด์ ์ถ๋ ฅํฉ๋๋ค. ๐ง 1ํธ (๊ฐ์ ํ์ด)#include #include #includeusing namespace std;int main(void){ freopen("input.txt", "rt", stdin); int n, temp; cin >> n; int a[n]; for(int i = 0; i > a[i]; } for(int i = 0; i a[j+1]){ temp = a[j]; a[..