[νˆ¬ν¬μΈν„° μ•Œκ³ λ¦¬μ¦˜] 연속 λΆ€λΆ„ μˆ˜μ—΄(2)

문제 N개의 수둜 이루어진 μˆ˜μ—΄μ΄ μ£Όμ–΄μ§‘λ‹ˆλ‹€.이 μˆ˜μ—΄μ—μ„œ μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합이 νŠΉμ •μˆ«μž Mμ΄ν•˜κ°€ λ˜λŠ” κ²½μš°κ°€ λͺ‡ 번 μžˆλŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”.λ§Œμ•½ N=5, M=5이고 μˆ˜μ—΄μ΄ λ‹€μŒκ³Ό κ°™λ‹€λ©΄ 1 3 1 2 3 합이 5μ΄ν•˜κ°€ λ˜λŠ” μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ€ {1}, {3}, {1}, {2}, {3}, {1, 3}, {3, 1}, {1, 2} , {2, 3}, {1, 3, 1}둜 총 10가지 μž…λ‹ˆλ‹€. λ¬Έμ œν’€μ΄ νˆ¬ν¬μΈν„° lt와 rtλ₯Ό μ΄μš©ν•˜μ—¬ 쑰건에 λΆ€ν•©ν•œ μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합을 κ΅¬ν•˜κ³ μž ν•œλ‹€. μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합이 M의 κ°’κ³Ό κ°™κ±°λ‚˜ 클 λ•ŒκΉŒμ§€ 포인터 rtλ₯Ό μ΄λ™μ‹œμΌœ μ£Όλ©° μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합이 M의 값보닀 컀질 κ²½μš°μ—λŠ”ν•΄λ‹Ή μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합이 M의 값보닀 μž‘μ•„μ§ˆ λ•ŒκΉŒμ§€(Mμ΄ν•˜κ°€ λ˜λŠ” 경우이기 λ•Œλ¬Έμ΄λ‹€) ltλ₯Ό μ΄λ™μ‹œμΌœ μ£Όλ©°..

[νˆ¬ν¬μΈν„° μ•Œκ³ λ¦¬μ¦˜]연속 λΆ€λΆ„ μˆ˜μ—΄(1)

문제 N개의 수둜 이루어진 μˆ˜μ—΄μ΄ μ£Όμ–΄μ§‘λ‹ˆλ‹€.이 μˆ˜μ—΄μ—μ„œ μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합이 νŠΉμ •μˆ«μž M이 λ˜λŠ” κ²½μš°κ°€ λͺ‡ 번 μžˆλŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”.λ§Œμ•½ N=8, M=6이고 μˆ˜μ—΄μ΄ λ‹€μŒκ³Ό κ°™λ‹€λ©΄ 1 2 1 3 1 1 1 2 합이 6이 λ˜λŠ” μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ€ {2,1,3},{1,3,1,1},{3,1,1,1}둜 총 3가지 μž…λ‹ˆλ‹€. λ¬Έμ œν’€μ΄ ν•΄λ‹Ή λ°°μ—΄μ—μ„œ μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합을 κ΅¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” 두 개의 μΈλ±μŠ€κ°€ ν¬μΈν„°λ‘œμ„œ 순회 및 μ°Έμ‘°ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ—μ€‘μ²© λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•˜μ˜€λ‹€. 첫 번째 인덱슀λ₯Ό μ΄μš©ν•œ μˆœνšŒλŠ” μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ—μ„œμ˜ 첫 번째둜 기쀀이 λ˜λŠ” μš”μ†Œλ₯Ό μ°Έμ‘°ν•΄μ•Ό ν•œλ‹€.μ΄λ•Œ μ—°μ†λΆ€λΆ„μˆ˜μ—΄μ˜ 합을 ꡬ해야 ν•˜κΈ° λ•Œλ¬Έμ— 첫 번째 기쀀이 λ˜λŠ” μš”μ†ŒλŠ” 졜초의 합산이 λλ‚˜λ©΄ κ·Έ λ‹€μŒ 인덱슀 μš”μ†Œλ₯Ό μ°Έμ‘°ν•΄μ•Ό ν•œλ‹€. 두 번째 인덱슀λ₯Ό..

[완전탐색]k번째 큰 수

문제 ν˜„μˆ˜λŠ” 1λΆ€ν„° 100μ‚¬μ΄μ˜ μžμ—°μˆ˜κ°€ 적힌 Nμž₯의 μΉ΄λ“œλ₯Ό 가지고 μžˆλ‹€ (같은 숫자의 μΉ΄λ“œκ°€ μ—¬λŸ¬μž₯ μžˆμ„ 수 μžˆλ‹€). ν˜„μˆ˜λŠ” 이 쀑 3μž₯을 뽑아 각 μΉ΄λ“œμ— 적힌 수λ₯Ό ν•©ν•œ κ°’μ˜ 경우λ₯Ό κΈ°λ‘ν•˜λ €κ³  ν•œλ‹€.κΈ°λ‘ν•œ κ°’ 쀑 K번째둜 큰 수λ₯Ό 좜λ ₯ν•˜κ³ μž ν•œλ‹€. λ¬Έμ œν’€μ΄ 1. μ„Έ 개의 수λ₯Ό 뽑은 λ’€ ν•©μ‚° ν•œ λͺ¨λ“  경우의 수λ₯Ό ꡬ해야 ν•˜κΈ° λ•Œλ¬Έμ— 3쀑 for문을 μ΄μš©ν•œλ‹€. μ΄λ•Œ 자기 μžμ‹ μ€ 뽑아야 λ˜λŠ” 수 쀑 μ œμ™Έν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— 쀑첩 forλ¬Έ λ‚΄μ˜ 초기 μΈλ±μŠ€κ°’μ€ 이전 forλ¬Έ λ‚΄μ˜ 초기 인덱슀 값에 1을 κ°€μ‚°ν•΄ μ€€λ‹€. 2. 3번째둜 큰 수λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄μ„œ ν•©μ‚° ν•œ λͺ¨λ“  결과값에 λŒ€ν•œ 배열에 λŒ€ν•΄μ„œ λ°˜λ³΅λ¬Έμ„ μˆ˜ν–‰ν•΄ μ€€λ‹€. μ΄λ•Œ 기쀀이 될 κ°€μž₯ 맨 μ•žμ˜ 값이 λ°° μ—΄ λ‚΄μ—μ„œ μ΅œλŒ“κ°’μ΄ λ˜μ–΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— λ‚΄μΉ¨μ°¨μˆœμœΌλ‘œ μ •..

[완전탐색]μ‘Έμ—… μ„ λ¬Ό

문제 μ„ μƒλ‹˜μ€ μ˜¬ν•΄ μ‘Έμ—…ν•˜λŠ” 반 ν•™μƒλ“€μ—κ²Œ μ‘Έμ—… 선물을 μ£Όλ €κ³  ν•œλ‹€.ν•™μƒλ“€μ—κ²Œ 각자 μ›ν•˜λŠ” μƒν’ˆμ„ 골라 κ·Έ μƒν’ˆμ˜ 가격과 배솑비λ₯Ό μ œμΆœν•˜λΌκ³  ν•˜μ˜€λ‹€. μ„ μƒλ‹˜μ΄ 가지고 μžˆλŠ” μ˜ˆμ‚°μ€ ν•œμ •λ˜μ–΄ μžˆλ‹€.ν˜„μž¬ μ˜ˆμ‚°μœΌλ‘œ μ΅œλŒ€ λͺ‡ λͺ…μ˜ ν•™μƒμ—κ²Œ 선물을 사쀄 수 μžˆλŠ”μ§€ κ΅¬ν•˜κ³ μž ν•œλ‹€.μ„ μƒλ‹˜μ€ μƒν’ˆ ν•˜λ‚˜λ₯Ό 50% ν• μΈν•΄μ„œ μ‚΄ 수 μžˆλŠ” 쿠폰을 가지고 μžˆλ‹€. λ°°μ†‘λΉ„λŠ” 할인에 ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.(μ„ μƒλ‹˜μ€ μ΅œμ†Œν•œ 1개 μ΄μƒμ˜ μƒν’ˆμ„ μ‚΄ 수 μžˆλŠ” μ˜ˆμ‚°μ„ 가지고 μžˆλ‹€) λ¬Έμ œν’€μ΄ μ˜ˆμ‚°μ— 맞게 ν•™μƒλ“€μ—κ²Œ 선물을 쀄 수 μžˆλŠ” 경우의 μˆ˜λŠ” 총 4가지이닀.2λͺ…μ˜ ν•™μƒμ—κ²Œ μ‚΄ 수 μžˆλŠ” μ˜ˆμ‚°, 3λͺ…μ˜ ν•™μƒμ—κ²Œ μ‚΄ 수 μžˆλŠ” μ˜ˆμ‚°, 4λͺ…μ˜ ν•™μƒμ—κ²Œ μ‚΄ 수 μžˆλŠ” μ˜ˆμ‚°, 5λͺ…μ˜ ν•™μƒμ—κ²Œ μ‚΄ 수 μžˆλŠ” μ˜ˆμ‚°μœΌλ‘œ λ‚˜λˆŒ 수 μžˆλ‹€. μ΄λ•Œ μ„ μƒλ‹˜μ€ μ΅œμ†Œν•œ 1개 이..

[완전탐색]λ©˜ν† λ§

문제 ν˜„μˆ˜λ„€ 반 μ„ μƒλ‹˜μ€ 반 ν•™μƒλ“€μ˜ μˆ˜ν•™μ μˆ˜λ₯Ό ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ λ©˜ν† λ§ μ‹œμŠ€ν…œμ„ λ§Œλ“€λ €κ³  ν•œλ‹€. λ©˜ν† λ§μ€ λ©˜ν† μ™€ λ©˜ν‹°κ°€ ν•œ 짝이 λœλ‹€.μ„ μƒλ‹˜μ€ M번의 μˆ˜ν•™ν…ŒμŠ€νŠΈ λ“±μˆ˜λ₯Ό 가지고 λ©˜ν† μ™€ λ©˜ν‹°λ₯Ό μ •ν•œλ‹€. λ§Œμ•½ A학생이 λ©˜ν† μ΄κ³ , B학생이 λ©˜ν‹°κ°€ λ˜λŠ” 짝이 λ˜μ—ˆλ‹€λ©΄, A학생은 M번의 μˆ˜ν•™ν…ŒμŠ€νŠΈμ—μ„œ λͺ¨λ‘ B학생보닀 λ“±μˆ˜κ°€ μ•žμ„œμ•Ό ν•œλ‹€.M번의 μˆ˜ν•™μ„±μ μ΄ 주어지면 λ©˜ν† μ™€ λ©˜ν‹°κ°€ λ˜λŠ” 짝을 λ§Œλ“€ 수 μžˆλŠ” κ²½μš°κ°€ 총 λͺ‡ 가지인지 κ΅¬ν•˜κ³ μž ν•œλ‹€. λ¬Έμ œν’€μ΄ μš°μ„  λ©˜ν† μ™€ λ©˜ν‹°κ°€ 짝이 될 수 μžˆλŠ” λͺ¨λ‘ 경우의 수λ₯Ό κ΅¬ν•œλ‹€.λ©˜ν† κ°€ 될 수 μžˆλŠ” 인원 μˆ˜λŠ” 4λͺ…이고 λ©˜ν‹°κ°€ 될 수 μžˆλŠ” 인원 수 λ˜ν•œ 4λͺ…이기 λ•Œλ¬Έμ— 총 16가지 경우의 수둜 짝 짓을 수 μžˆλ‹€. 이 쀑 λ©˜ν† μ™€ λ©˜ν‹°κ°€ 짝이 되기 μœ„ν•΄μ„œλŠ” 총 n번의 μ‹œν—˜ κ²°κ³Ό λͺ¨λ‘μ—μ„œ 멘..

뒀집은 μ†Œμˆ˜

문제 N개의 μžμ—°μˆ˜κ°€ μž…λ ₯되면 각 μžμ—°μˆ˜λ₯Ό 뒀집은 ν›„ κ·Έ 뒀집은 μˆ˜κ°€ μ†Œμˆ˜μ΄λ©΄ κ·Έ μ†Œμˆ˜λ₯Ό 좜λ ₯ν•˜κ³ μž ν•œλ‹€. 예λ₯Ό λ“€μ–΄ 32λ₯Ό λ’€μ§‘μœΌλ©΄ 23이고, 23은 μ†Œμˆ˜μ΄λ‹€. 그러면 23을 좜λ ₯ν•œλ‹€.(첫 μžλ¦¬λΆ€ν„°μ˜ μ—°μ†λœ 0은 λ¬΄μ‹œν•œλ‹€) λ¬Έμ œν’€μ΄ λ’€μ§šμ€ μžμ—°μˆ˜λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄μ„œ ν•΄λ‹Ή μžμ—°μˆ˜λ₯Ό 10으둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€μ˜ 값을 μ°¨λ‘€λ‘œ μƒˆλ‘œμš΄ 배열에 μ μž¬ν•΄ μ£Όμ—ˆκ³  이λ₯Ό λ°°μ—΄μ˜ ꡬ뢄 μ—°μ‚°μžλ₯Ό 톡해 합쳐 μ€€ λ’€ Number()λ₯Ό μ‚¬μš©ν•˜μ—¬ μžμ—°μˆ˜λ‘œ λ°”κΏ”μ£Όμ—ˆλ‹€. μ†Œμˆ˜λŠ” 1κ³Ό μžμ‹ λ§ŒμœΌλ‘œ λ‚˜λˆ„μ–΄ λ–¨μ–΄μ§€λŠ” μ •μˆ˜μ΄λ‹€. 이에 λ°˜λ³΅λ¬Έμ„ 톡해 해당값을 2~(ν•΄λ‹Ήκ°’ - 1)만큼 λ²”μœ„ 내에 μžˆλŠ” κ°’μœΌλ‘œ λ‚˜λˆ„μ–΄ μ‘Œμ„ λ•ŒλŠ” κ·ΈλŒ€λ‘œ λ°˜λ³΅λ¬Έμ„ μ’…λ£Œν•œλ‹€. λ§Œμ•½μ— 반볡문 μ’…λ£Œλœ 이후 인덱슀 i의 값이 ν•΄λ‹Ήκ°’κ³Ό λ˜‘κ°™λ‹€λ©΄, μœ„ λ²”μœ„ λ‚΄μ—μ„œ λ‚˜λˆŒ 수 μžˆλŠ” 값이 μ—†λ‹€..

곡지사항
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
링크
TAG
more
Β«   2025/02   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
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
κΈ€ 보관함