λͺ©λ‘μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„/λ°±μ€€ (70)

𝘚𝘭𝘰𝘸 𝘣𝘢𝘡 𝘴𝘡𝘦𝘒π˜₯𝘺

[λ°±μ€€] 5639번: 이진 검색 트리 - C++

문제 이진 검색 νŠΈλ¦¬λŠ” λ‹€μŒκ³Ό 같은 μ„Έ 가지 쑰건을 λ§Œμ‘±ν•˜λŠ” 이진 νŠΈλ¦¬μ΄λ‹€. λ…Έλ“œμ˜ μ™Όμͺ½ μ„œλΈŒνŠΈλ¦¬μ— μžˆλŠ” λͺ¨λ“  λ…Έλ“œμ˜ ν‚€λŠ” λ…Έλ“œμ˜ 킀보닀 μž‘λ‹€. λ…Έλ“œμ˜ 였λ₯Έμͺ½ μ„œλΈŒνŠΈλ¦¬μ— μžˆλŠ” λͺ¨λ“  λ…Έλ“œμ˜ ν‚€λŠ” λ…Έλ“œμ˜ 킀보닀 크닀. μ™Όμͺ½, 였λ₯Έμͺ½ μ„œλΈŒνŠΈλ¦¬λ„ 이진 검색 νŠΈλ¦¬μ΄λ‹€. μ „μœ„ 순회 (루트-μ™Όμͺ½-였λ₯Έμͺ½)은 루트λ₯Ό λ°©λ¬Έν•˜κ³ , μ™Όμͺ½ μ„œλΈŒνŠΈλ¦¬, 였λ₯Έμͺ½ μ„œλΈŒ 트리λ₯Ό μˆœμ„œλŒ€λ‘œ λ°©λ¬Έν•˜λ©΄μ„œ λ…Έλ“œμ˜ ν‚€λ₯Ό 좜λ ₯ν•œλ‹€. ν›„μœ„ 순회 (μ™Όμͺ½-였λ₯Έμͺ½-루트)λŠ” μ™Όμͺ½ μ„œλΈŒνŠΈλ¦¬, 였λ₯Έμͺ½ μ„œλΈŒνŠΈλ¦¬, 루트 λ…Έλ“œ μˆœμ„œλŒ€λ‘œ ν‚€λ₯Ό 좜λ ₯ν•œλ‹€. 예λ₯Ό λ“€μ–΄, μœ„μ˜ 이진 검색 트리의 μ „μœ„ 순회 κ²°κ³ΌλŠ” 50 30 24 5 28 45 98 52 60 이고, ν›„μœ„ 순회 κ²°κ³ΌλŠ” 5 28 24 45 30 60 52 98 50 이닀. 이진 검색 트리λ₯Ό μ „μœ„ μˆœνšŒν•œ κ²°κ³Όκ°€ ..

[λ°±μ€€] 1507번: κΆκΈˆν•œ 민호 - C++

문제 κ°•ν˜ΈλŠ” N개의 λ„μ‹œλ‘œ 이루어진 λ‚˜λΌμ— μ‚΄κ³  μžˆλ‹€. 각 λ„μ‹œλŠ” M개의 λ„λ‘œλ‘œ μ—°κ²°λ˜μ–΄ 있으며, 각 λ„λ‘œλ₯Ό 지날 λ•Œ ν•„μš”ν•œ μ‹œκ°„μ΄ μ‘΄μž¬ν•œλ‹€. λ„λ‘œλŠ” 잘 μ—°κ²°λ˜μ–΄ 있기 λ•Œλ¬Έμ—, λ„μ‹œ Aμ—μ„œ B둜 이동할 수 μ—†λŠ” κ²½μš°λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€. λ„μ‹œ Aμ—μ„œ λ„μ‹œ B둜 λ°”λ‘œ 갈 수 μžˆλŠ” λ„λ‘œκ°€ μžˆκ±°λ‚˜, λ‹€λ₯Έ λ„μ‹œλ₯Ό κ±°μ³μ„œ 갈 수 μžˆμ„ λ•Œ, λ„μ‹œ Aμ—μ„œ Bλ₯Ό 갈 수 μžˆλ‹€κ³  ν•œλ‹€. κ°•ν˜ΈλŠ” λͺ¨λ“  쌍의 λ„μ‹œμ— λŒ€ν•΄μ„œ μ΅œμ†Œ 이동 μ‹œκ°„μ„ κ΅¬ν•΄λ†“μ•˜λ‹€. λ―Όν˜ΈλŠ” 이 ν‘œλ₯Ό 보고 μ›λž˜ λ„λ‘œκ°€ λͺ‡ 개 μžˆλŠ”μ§€λ₯Ό ꡬ해보렀고 ν•œλ‹€. 예λ₯Ό λ“€μ–΄, 예제의 κ²½μš°μ— λͺ¨λ“  λ„μ‹œ 사이에 κ°•ν˜Έκ°€ κ΅¬ν•œ 값을 κ°€μ§€λŠ” λ„λ‘œκ°€ μ‘΄μž¬ν•œλ‹€κ³  해도 λœλ‹€. ν•˜μ§€λ§Œ, 이 λ„λ‘œμ˜ κ°œμˆ˜λŠ” μ΅œμ†Ÿκ°’μ΄ μ•„λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ„μ‹œ 1-2, 2-3, 1-4, 3-4, 4-5, 3-..

[λ°±μ€€] 11404번: ν”Œλ‘œμ΄λ“œ - C++

문제 n(2 ≤ n ≤ 100)개의 λ„μ‹œκ°€ μžˆλ‹€. 그리고 ν•œ λ„μ‹œμ—μ„œ μΆœλ°œν•˜μ—¬ λ‹€λ₯Έ λ„μ‹œμ— λ„μ°©ν•˜λŠ” m(1 ≤ m ≤ 100,000)개의 λ²„μŠ€κ°€ μžˆλ‹€. 각 λ²„μŠ€λŠ” ν•œ 번 μ‚¬μš©ν•  λ•Œ ν•„μš”ν•œ λΉ„μš©μ΄ μžˆλ‹€. λͺ¨λ“  λ„μ‹œμ˜ 쌍 (A, B)에 λŒ€ν•΄μ„œ λ„μ‹œ Aμ—μ„œ B둜 κ°€λŠ”λ° ν•„μš”ν•œ λΉ„μš©μ˜ μ΅œμ†Ÿκ°’μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 λ„μ‹œμ˜ 개수 n이 주어지고 λ‘˜μ§Έ μ€„μ—λŠ” λ²„μŠ€μ˜ 개수 m이 주어진닀. 그리고 μ…‹μ§Έ 쀄뢀터 m+2μ€„κΉŒμ§€ λ‹€μŒκ³Ό 같은 λ²„μŠ€μ˜ 정보가 주어진닀. λ¨Όμ € μ²˜μŒμ—λŠ” κ·Έ λ²„μŠ€μ˜ 좜발 λ„μ‹œμ˜ λ²ˆν˜Έκ°€ 주어진닀. λ²„μŠ€μ˜ μ •λ³΄λŠ” λ²„μŠ€μ˜ μ‹œμž‘ λ„μ‹œ a, 도착 λ„μ‹œ b, ν•œ 번 νƒ€λŠ”λ° ν•„μš”ν•œ λΉ„μš© c둜 이루어져 μžˆλ‹€. μ‹œμž‘ λ„μ‹œμ™€ 도착 λ„μ‹œκ°€ 같은 κ²½μš°λŠ” μ—†λ‹€. λΉ„μš©μ€ 100,000보닀 μž‘κ±°λ‚˜ 같은 ..

[λ°±μ€€] 5567번: κ²°ν˜Όμ‹ - C++

문제 μƒκ·Όμ΄λŠ” μžμ‹ μ˜ κ²°ν˜Όμ‹μ— 학ꡐ 동기 쀑 μžμ‹ μ˜ μΉœκ΅¬μ™€ 친ꡬ의 친ꡬλ₯Ό μ΄ˆλŒ€ν•˜κΈ°λ‘œ ν–ˆλ‹€. μƒκ·Όμ΄μ˜ λ™κΈ°λŠ” λͺ¨λ‘ Nλͺ…이고, 이 ν•™μƒλ“€μ˜ ν•™λ²ˆμ€ λͺ¨λ‘ 1λΆ€ν„° NκΉŒμ§€μ΄λ‹€. μƒκ·Όμ΄μ˜ ν•™λ²ˆμ€ 1이닀. μƒκ·Όμ΄λŠ” λ™κΈ°λ“€μ˜ 친ꡬ 관계λ₯Ό λͺ¨λ‘ μ‘°μ‚¬ν•œ 리슀트λ₯Ό 가지고 μžˆλ‹€. 이 리슀트λ₯Ό λ°”νƒ•μœΌλ‘œ κ²°ν˜Όμ‹μ— μ΄ˆλŒ€ν•  μ‚¬λžŒμ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 μƒκ·Όμ΄μ˜ λ™κΈ°μ˜ 수 n (2 ≤ n ≤ 500)이 주어진닀. λ‘˜μ§Έ μ€„μ—λŠ” 리슀트의 길이 m (1 ≤ m ≤ 10000)이 주어진닀. λ‹€μŒ 쀄뢀터 m개 μ€„μ—λŠ” 친ꡬ 관계 ai biκ°€ 주어진닀. (1 ≤ ai < bi ≤ n) ai와 biκ°€ μΉœκ΅¬λΌλŠ” 뜻이며, bi와 ai도 μΉœκ΅¬κ΄€κ³„μ΄λ‹€. 좜λ ₯ 첫째 쀄에 μƒκ·Όμ΄μ˜ κ²°ν˜Όμ‹μ— μ΄ˆλŒ€ν•˜λŠ” λ™κΈ°μ˜ 수λ₯Ό 좜λ ₯ν•œλ‹€. κ·Έλž˜ν”„..

[λ°±μ€€] 1222번: 홍쀀 ν”„λ‘œκ·Έλž˜λ° λŒ€νšŒ - C++

문제 ν™μ€€μ΄λŠ” ν”„λ‘œκ·Έλž˜λ° λŒ€νšŒλ₯Ό κ°œμ΅œν–ˆλ‹€. 이 λŒ€νšŒλŠ” μ‚¬λžŒλ“€μ΄ νŒ€μ„ μ΄λ£¨μ–΄μ„œ μ°Έκ°€ν•΄μ•Ό ν•˜λ©°, νŒ€μ›μ˜ μˆ˜λŠ” 홍쀀이가 μ •ν•΄μ€€λ‹€. νŒ€μ›μ΄ 홍쀀이가 μ •ν•œ 값보닀 λΆ€μ‘±ν•˜λ‹€λ©΄, κ·Έ νŒ€μ€ λŒ€νšŒμ— μ°Έμ—¬ν•  수 μ—†λ‹€. λͺ¨λ“  νŒ€μ€ 같은 수의 νŒ€μ›μœΌλ‘œ 이루어져 μžˆλ‹€. λŒ€νšŒμ— μ°Έμ—¬ μ˜μ‚¬λ₯Ό 밝힌 ν•™κ΅λŠ” 총 Nκ°œμ΄λ‹€. 각 ν•™κ΅λŠ” λͺ¨λ“  학생이 μ°Έμ—¬ν•  수 μžˆλŠ” κ²½μš°μ—λ§Œ λŒ€νšŒμ— μ°Έκ°€ν•œλ‹€. 즉, λ‚¨λŠ” μ‚¬λžŒ 없이 λͺ¨λ“  학생이 νŒ€μ— λ“€μ–΄κ°ˆ 수 μžˆμ–΄μ•Ό ν•œλ‹€. λŒ€νšŒλŠ” μ˜ˆμ„ κ³Ό λ³Έμ„ μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. λͺ¨λ“  νŒ€μ€ 같은 학ꡐ μ†Œμ†μœΌλ‘œ 이루어져 μžˆμ–΄μ•Ό ν•œλ‹€. μ˜ˆμ„ μ—μ„œ 각 학ꡐ 1λ“±νŒ€λ§Œ 본선에 μ§„μΆœν•œλ‹€. ν™μ€€μ΄μ˜ λŒ€νšŒλŠ” μ˜¬ν•΄κ°€ 첫 해이기 λ•Œλ¬Έμ—, λ§Žμ€ 관심이 ν•„μš”ν•˜λ‹€. λ”°λΌμ„œ, 본선에 μ°Έκ°€ν•˜λŠ” μ‚¬λžŒμ˜ 수λ₯Ό μ΅œλŒ€κ°€ λ˜λ„λ‘ νŒ€μ›μ˜ 수λ₯Ό μ •ν•˜λ €κ³  ν•œλ‹€. 또,..

[λ°±μ€€] 3024번: λ§ˆλΌν†€ 틱택토 - C++

문제 상근(Albert), 민혁(Barbara), μ„ μ˜(Casper), 창영(Dinko), ν˜„μ§„(Eustahije)이가 λ§ˆλΌν†€ 틱택토 κ²Œμž„μ„ ν•˜λ €κ³  ν•œλ‹€. 이 κ²Œμž„μ€ N×N λ³΄λ“œμ—μ„œ μ§„ν–‰ν•œλ‹€. 맨 μ²˜μŒμ— λ³΄λ“œμ˜ λͺ¨λ“  칸은 λΉ„μ–΄μžˆλ‹€. ν”Œλ ˆμ΄μ–΄λŠ” 턴을 λ²ˆκ°ˆμ•„κ°€λ©΄μ„œ μžμ‹ μ˜ μ˜μ–΄ μ΄λ¦„μ˜ 첫 κΈ€μžλ₯Ό 빈 칸에 μ λŠ”λ‹€. (두 μ‚¬λžŒμ˜ μ˜μ–΄ μ΄λ¦„μ˜ 첫 κΈ€μžκ°€ 같은 κ²½μš°λŠ” μ—†λ‹€) κ²Œμž„μ€ μ„Έ κΈ€μžκ°€ ν–‰, μ—΄, λ˜λŠ” λŒ€κ°μ„ μœΌλ‘œ 연속할 λ•Œ, κ·Έ ν”Œλ ˆμ΄μ–΄κ°€ μŠΉλ¦¬ν•˜λ©°, κ²Œμž„μ΄ λλ‚˜κ²Œ λœλ‹€. λ³΄λ“œνŒμ˜ μƒνƒœκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ²Œμž„μ΄ λλ‚¬λŠ”μ§€ μ•„λ‹Œμ§€λ₯Ό κ²°μ •ν•˜κ³ , 끝났닀면 μŠΉμžκ°€ λˆ„κ΅¬μΈμ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 λ³΄λ“œνŒμ˜ 크기 N이 주어진닀. (1 ≤ N ≤ 30) λ‹€μŒ N개 μ€„μ—λŠ” λ³΄λ“œνŒμ˜ μƒνƒœκ°€ 주어진닀. '.'λŠ”..

[λ°±μ€€] 1756번: ν”Όμž κ΅½κΈ° - C++

문제 μ›”λ“œν”Όμž 원주 μ§€μ μ—μ„œ N개의 ν”Όμž λ°˜μ£½μ„ μ˜€λΈμ— λ„£κ³  ꡬ우렀고 ν•œλ‹€. 그런데, μ›”λ“œν”Όμžμ—μ„œ λ§Œλ“œλŠ” ν”Όμž λ°˜μ£½μ€ 지름이 μ œκ°κ°μ΄λ‹€. κ·ΈλŸ°κ°€ν•˜λ©΄, μ›”λ“œν”Όμžμ—μ„œ μ‚¬μš©ν•˜λŠ” 였븐의 λͺ¨μ–‘도 λͺΉμ‹œ μ˜€λ¬˜ν•˜λ‹€. 이 μ˜€λΈμ€ κΉŠμ€ κ΄€μ²˜λŸΌ μƒκ²ΌλŠ”λ°, κ΄€μ˜ 지름이 κΉŠμ΄μ— 따라 λ“€μ­‰λ‚ μ­‰ν•˜κ²Œ λ³€ν•œλ‹€. μ•„λž˜λŠ” 였븐의 단면 μ˜ˆμ‹œμ΄λ‹€. ν”Όμž λ°˜μ£½μ€ μ™„μ„±λ˜λŠ” μˆœμ„œλŒ€λ‘œ μ˜€λΈμ— λ“€μ–΄κ°„λ‹€. μ΄λ ‡κ²Œ N개의 ν”Όμžκ°€ μ˜€λΈμ— λͺ¨λ‘ λ“€μ–΄κ°€κ³  λ‚˜λ©΄, 맨 μœ„μ˜ ν”Όμžκ°€ μ–Όλ§ˆλ‚˜ 깊이 λ“€μ–΄κ°€ μžˆλŠ”μ§€κ°€ κΆκΈˆν•˜λ‹€. 이λ₯Ό μ•Œμ•„λ‚΄λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 였븐의 깊이 D와 ν”Όμž 반죽의 개수 N이 곡백을 사이에 두고 주어진닀. (1 ≤ D, N ≤ 300,000) λ‘˜μ§Έ μ€„μ—λŠ” 였븐의 μ΅œμƒλ‹¨λΆ€ν„° μ‹œμž‘ν•˜μ—¬ κΉŠμ΄μ— λ”°λ₯Έ 였븐의 지름이 μ°¨λ‘€λŒ€λ‘œ 주어진닀..

[λ°±μ€€] 2840번: ν–‰μš΄μ˜ 바퀴 - C++

문제 μƒλ•μ΄λŠ” μ΅œκ·Όμ— ν–‰μš΄μ˜ 바퀴λ₯Ό κ΅¬λ§€ν–ˆλ‹€. μƒλ•μ΄λŠ” λ°”ν€΄μ˜ 각 칸에 μ•ŒνŒŒλ²³ λŒ€λ¬Έμžλ₯Ό μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 μ μ—ˆλ‹€. 바퀴에 같은 κΈ€μžλŠ” 두 번 이상 λ“±μž₯ν•˜μ§€ μ•ŠλŠ”λ‹€. 또, λ°”ν€΄λŠ” μ‹œκ³„λ°©ν–₯으둜만 λŒμ•„κ°„λ‹€. 바퀴 μ˜†μ—λŠ” ν™”μ‚΄ν‘œκ°€ μžˆλŠ”λ°, 이 ν™”μ‚΄ν‘œλŠ” 항상 ν•œ 곳을 가리킀고 있으며, λŒμ•„κ°€λŠ” λ™μ•ˆ κ°€λ¦¬ν‚€λŠ” κΈ€μžλŠ” λ°”λ€Œκ²Œ λœλ‹€. μœ„μ˜ κ·Έλ¦Όμ—μ„œλŠ” Hλ₯Ό 가리킀고 μžˆλ‹€. μƒλ•μ΄λŠ” 바퀴λ₯Ό μ—°μ†ν•΄μ„œ K번 돌릴 것이닀. 맀번 바퀴λ₯Ό 돌릴 λ•Œ λ§ˆλ‹€, μƒλ•μ΄λŠ” ν™”μ‚΄ν‘œκ°€ κ°€λ¦¬ν‚€λŠ” κΈ€μžκ°€ λ³€ν•˜λŠ” νšŸμˆ˜μ™€ μ–΄λ–€ κΈ€μžμ—μ„œ νšŒμ „μ„ λ©ˆμΆ”μ—ˆλŠ”μ§€λ₯Ό 쒅이에 μ λŠ”λ‹€. ν¬μ›μ΄λŠ” 상덕이가 적어놓은 쒅이λ₯Ό λ°œκ²¬ν–ˆλ‹€. κ·Έ 쒅이λ₯Ό λ°”νƒ•μœΌλ‘œ 상덕이가 바퀴에 적은 μ•ŒνŒŒλ²³μ„ μ•Œμ•„λ‚΄λ €κ³  ν•œλ‹€. 상덕이가 쒅이에 적어놓은 λ‚΄μš©κ³Ό λ°”ν€΄μ˜ 칸의 μˆ˜κ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 바퀴..

[λ°±μ€€] 5624번: 쒋은 수 - C++

문제 μ •μˆ˜ N개둜 이루어진 μˆ˜μ—΄ Aκ°€ μžˆλ‹€. μ΄λ•Œ, i번째 μˆ˜κ°€ κ·Έ μ•žμ— μžˆλŠ” 수 μ„Έ 개의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚Ό 수 μžˆμ„ λ•Œ, κ·Έ 수λ₯Ό μ’‹λ‹€κ³  ν•œλ‹€. (같은 μœ„μΉ˜μ— μžˆλŠ” 수λ₯Ό μ—¬λŸ¬ 번 더해도 λœλ‹€) μˆ˜μ—΄μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, 총 λͺ‡ 개의 μˆ˜κ°€ 쒋은 수 일까? μž…λ ₯ 첫째 쀄에 μˆ˜μ—΄ A의 크기 N이 주어진닀. (1 ≤ N ≤ 5000) λ‘˜μ§Έ μ€„μ—λŠ” μˆ˜μ—΄ A의 각 μˆ«μžκ°€ 곡백으둜 κ΅¬λΆ„λ˜μ–΄ 주어진닀. (-100,000 ≤ Ai ≤ 100,000) 좜λ ₯ 첫째 쀄에 쒋은 수의 개수λ₯Ό 좜λ ₯ν•œλ‹€. μ˜€λžœλ§Œμ— ν’€μ–΄λ³΄μ•˜λ˜ λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ° λ¬Έμ œμ˜€λ‹€. 풀어본지도 μ˜€λž˜λκ±°λ‹ˆμ™€, λ‚œμ΄λ„ μžˆλŠ” 문제라 슀슀둜 생각해내기가 λ„ˆλ¬΄ μ–΄λ €μ›Œμ„œ κ²°κ΅­ κ΅¬κΈ€μ˜ νž˜μ„ λΉŒλ Έλ‹€γ… γ…  핡심적인 식은 x + y + z = n μ΄λ―€λ‘œ, μ •λ¦¬ν•˜λ©΄ x + y = n - ..

Prev 1 2 3 4 5 6 7 Next