λͺ©λ‘κ΅¬ν˜„ (6)

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

[λ°±μ€€] 16235번: λ‚˜λ¬΄ μž¬ν…Œν¬ - C++

λ¬Έμ œπŸ”— 16235번: λ‚˜λ¬΄ μž¬ν…Œν¬λΆ€λ™μ‚° 투자둜 μ–΅λŒ€μ˜ λˆμ„ 번 μƒλ„λŠ” 졜근 N×N 크기의 땅을 κ΅¬λ§€ν–ˆλ‹€. μƒλ„λŠ” μ†μ‰¬μš΄ λ•… 관리λ₯Ό μœ„ν•΄ 땅을 1×1 크기의 칸으둜 λ‚˜λˆ„μ–΄ λ†“μ•˜λ‹€. 각각의 칸은 (r, c)둜 λ‚˜νƒ€λ‚΄λ©°, r은 κ°€μž₯ μœ„μ—μ„œλΆ€ν„° 떨어진 칸의 개수, cλŠ” κ°€μž₯ μ™Όμͺ½μœΌλ‘œλΆ€ν„° 떨어진 칸의 κ°œμˆ˜μ΄λ‹€. rκ³Ό cλŠ” 1λΆ€ν„° μ‹œμž‘ν•œλ‹€. μƒλ„λŠ” μ „μžν†΅μ‹ κ³΅ν•™κ³Ό μΆœμ‹ λ‹΅κ²Œ λ•…μ˜ 양뢄을 μ‘°μ‚¬ν•˜λŠ” λ‘œλ΄‡ S2D2λ₯Ό λ§Œλ“€μ—ˆλ‹€. S2D2λŠ” 1×1 크기의 칸에 λ“€μ–΄μžˆλŠ” 양뢄을 쑰사해 μƒλ„μ—κ²Œ μ „μ†‘ν•˜κ³ , λͺ¨λ“  칸에 λŒ€ν•΄μ„œ 쑰사λ₯Ό ν•œλ‹€. κ°€μž₯ μ²˜μŒμ— 양뢄은 λͺ¨λ“  μΉΈμ— 5만큼 λ“€μ–΄μžˆλ‹€. λ§€μΌ 맀일 넓은 땅을 λ³΄λ©΄μ„œ λΏŒλ“―ν•œ ν•˜λ£¨λ₯Ό 보내고 있던 μ–΄λŠ λ‚  μ΄λŸ° 생각이 λ“€μ—ˆλ‹€.λ‚˜λ¬΄ μž¬ν…Œν¬λ₯Ό ν•˜μž!λ‚˜λ¬΄ μž¬ν…Œν¬λž€ μž‘μ€ 묘λͺ©μ„ ꡬ맀해 μ–΄λŠμ •λ„..

[ꡬ름] ꡬ름곡원 - 파이썬

λ¬Έμ œπŸ”— : https://level.goorm.io/exam/51354/ꡬ름곡원/quiz/1κΉ¨λ—ν•˜κ²Œ 관리가 잘 λ˜μ–΄μžˆκΈ°λ‘œ μ†Œλ¬Έλ‚œ κ΅¬λ¦„κ³΅μ›μ—λŠ” N개의 λ²€μΉ˜κ°€ μžˆλ‹€. ν˜„μž¬ i번째 λ²€μΉ˜μ—λŠ” Aiλͺ…μ˜ μ‚¬λžŒμ΄ μ•‰μ•„μžˆλŠ”λ°, ꡬ름곡원을 μ°Ύμ•„μ˜¨ Mλͺ…μ˜ μ‚¬λžŒλ“€μ΄ λ²€μΉ˜μ— μΆ”κ°€λ‘œ μ•‰μœΌλ €κ³  ν•œλ‹€. Mλͺ…μ˜ μ‚¬λžŒλ“€μ΄ N개의 λ²€μΉ˜μ— 각자 잘 λ‚˜λˆ μ•‰μ•˜λ‹€κ³  ν•  λ•Œ, μ‚¬λžŒμ΄ κ°€μž₯ 많이 μ•‰μ•„μžˆλŠ” 벀치λ₯Ό μ°ΎλŠ”λ‹€. κ·Έ λ²€μΉ˜μ— μ•‰μ•„μžˆλŠ” μ‚¬λžŒμ˜ 수λ₯Ό K라고 ν•˜μž. κ°€λŠ₯ν•œ K의 κ°’ 쀑 μ΅œμ†Ÿκ°’κ³Ό μ΅œλŒ“κ°’μ„ 각각 κ΅¬ν•˜μ—¬λΌ. μž…λ ₯첫째 쀄에 벀치의 μˆ˜μ™€ ꡬ름곡원에 μ°Ύμ•„μ˜¨ μ‚¬λžŒμ˜ 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ N, M이 곡백을 두고 주어진닀.λ‘˜μ§Έ 쀄에 각 λ²€μΉ˜μ— μ•‰μ•„μžˆλŠ” μ‚¬λžŒμ˜ 수 A1, A2, ... , AN이 곡백으둜 κ΅¬λΆ„λ˜μ–΄ μ •μˆ˜λ‘œ 주어진닀. 1 ≤ N ≤ 2..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ˜ˆμƒ λŒ€μ§„ν‘œ - C++

문제 β–³β–³ κ²Œμž„λŒ€νšŒκ°€ κ°œμ΅œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이 λŒ€νšŒλŠ” Nλͺ…이 μ°Έκ°€ν•˜κ³ , ν† λ„ˆλ¨ΌνŠΈ ν˜•μ‹μœΌλ‘œ μ§„ν–‰λ©λ‹ˆλ‹€. Nλͺ…μ˜ μ°Έκ°€μžλŠ” 각각 1λΆ€ν„° Nλ²ˆμ„ μ°¨λ‘€λŒ€λ‘œ λ°°μ •λ°›μŠ΅λ‹ˆλ‹€. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 μ°Έκ°€μžλΌλ¦¬ κ²Œμž„μ„ μ§„ν–‰ν•©λ‹ˆλ‹€. 각 κ²Œμž„μ—μ„œ 이긴 μ‚¬λžŒμ€ λ‹€μŒ λΌμš΄λ“œμ— μ§„μΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ, λ‹€μŒ λΌμš΄λ“œμ— μ§„μΆœν•  μ°Έκ°€μžμ˜ λ²ˆν˜ΈλŠ” λ‹€μ‹œ 1λ²ˆλΆ€ν„° N/2λ²ˆμ„ μ°¨λ‘€λŒ€λ‘œ λ°°μ •λ°›μŠ΅λ‹ˆλ‹€. λ§Œμ•½ 1번↔2번 끼리 κ²¨λ£¨λŠ” κ²Œμž„μ—μ„œ 2번이 μŠΉλ¦¬ν–ˆλ‹€λ©΄ λ‹€μŒ λΌμš΄λ“œμ—μ„œ 1λ²ˆμ„ λΆ€μ—¬λ°›κ³ , 3번↔4λ²ˆμ—μ„œ κ²¨λ£¨λŠ” κ²Œμž„μ—μ„œ 3번이 μŠΉλ¦¬ν–ˆλ‹€λ©΄ λ‹€μŒ λΌμš΄λ“œμ—μ„œ 2λ²ˆμ„ λΆ€μ—¬λ°›κ²Œ λ©λ‹ˆλ‹€. κ²Œμž„μ€ μ΅œμ’… ν•œ λͺ…이 남을 λ•ŒκΉŒμ§€ μ§„ν–‰λ©λ‹ˆλ‹€. μ΄λ•Œ, 처음 λΌμš΄λ“œμ—μ„œ Aλ²ˆμ„ 가진 μ°Έκ°€μžλŠ” 경쟁자둜 μƒκ°ν•˜λŠ” B번 μ°Έκ°€μžμ™€ λͺ‡ 번째 ..

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 점 찍기 - C++

문제 μ’Œν‘œν‰λ©΄μ„ μ’‹μ•„ν•˜λŠ” μ§„μˆ˜λŠ” xμΆ•κ³Ό y좕이 μ§κ΅ν•˜λŠ” 2차원 μ’Œν‘œν‰λ©΄μ— 점을 μ°μœΌλ©΄μ„œ 놀고 μžˆμŠ΅λ‹ˆλ‹€. μ§„μˆ˜λŠ” 두 μ–‘μ˜ μ •μˆ˜ k, dκ°€ μ£Όμ–΄μ§ˆ λ•Œ λ‹€μŒκ³Ό 같이 점을 찍으렀 ν•©λ‹ˆλ‹€. 원점(0, 0)μœΌλ‘œλΆ€ν„° xμΆ• λ°©ν–₯으둜 a*k(a = 0, 1, 2, 3 ...), yμΆ• λ°©ν–₯으둜 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 μœ„μΉ˜μ— 점을 μ°μŠ΅λ‹ˆλ‹€. 원점과 거리가 dλ₯Ό λ„˜λŠ” μœ„μΉ˜μ—λŠ” 점을 찍지 μ•ŠμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, kκ°€ 2, dκ°€ 4인 κ²½μš°μ—λŠ” (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0) μœ„μΉ˜μ— 점을 찍어 총 6개의 점을 μ°μŠ΅λ‹ˆλ‹€. μ •μˆ˜ k와 μ›μ κ³Όμ˜ 거리λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ •μˆ˜ dκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, 점이 총 λͺ‡ 개 μ°νžˆλŠ”μ§€ return ν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±..

[λ°±μ€€] 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) λ‘˜μ§Έ μ€„μ—λŠ” 였븐의 μ΅œμƒλ‹¨λΆ€ν„° μ‹œμž‘ν•˜μ—¬ κΉŠμ΄μ— λ”°λ₯Έ 였븐의 지름이 μ°¨λ‘€λŒ€λ‘œ 주어진닀..