λͺ©λ‘μ „체 κΈ€ (79)

728x90

πŸ‘©πŸ»‍🌾

[λ°±μ€€/Python] 1931번 νšŒμ˜μ‹€ λ°°μ •

1οΈβƒ£λ¬Έμ œ μ„€λͺ… ν•œ 개의 νšŒμ˜μ‹€μ΄ μžˆλŠ”λ° 이λ₯Ό μ‚¬μš©ν•˜κ³ μž ν•˜λŠ” N개의 νšŒμ˜μ— λŒ€ν•˜μ—¬ νšŒμ˜μ‹€ μ‚¬μš©ν‘œλ₯Ό λ§Œλ“€λ €κ³  ν•œλ‹€. 각 회의 I에 λŒ€ν•΄ μ‹œμž‘μ‹œκ°„κ³Ό λλ‚˜λŠ” μ‹œκ°„μ΄ μ£Όμ–΄μ Έ 있고, 각 νšŒμ˜κ°€ κ²ΉμΉ˜μ§€ μ•Šκ²Œ ν•˜λ©΄μ„œ νšŒμ˜μ‹€μ„ μ‚¬μš©ν•  수 μžˆλŠ” 회의의 μ΅œλŒ€ 개수λ₯Ό μ°Ύμ•„λ³΄μž. 단, νšŒμ˜λŠ” ν•œλ²ˆ μ‹œμž‘ν•˜λ©΄ 쀑간에 쀑단될 수 μ—†μœΌλ©° ν•œ νšŒμ˜κ°€ λλ‚˜λŠ” 것과 λ™μ‹œμ— λ‹€μŒ νšŒμ˜κ°€ μ‹œμž‘λ  수 μžˆλ‹€. 회의의 μ‹œμž‘μ‹œκ°„κ³Ό λλ‚˜λŠ” μ‹œκ°„μ΄ 같을 μˆ˜λ„ μžˆλ‹€. 이 κ²½μš°μ—λŠ” μ‹œμž‘ν•˜μžλ§ˆμž λλ‚˜λŠ” κ²ƒμœΌλ‘œ μƒκ°ν•˜λ©΄ λœλ‹€. 2οΈβƒ£μž…λ ₯ 첫째 쀄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진닀. λ‘˜μ§Έ 쀄뢀터 N+1 μ€„κΉŒμ§€ 각 회의의 정보가 μ£Όμ–΄μ§€λŠ”λ° 이것은 곡백을 사이에 두고 회의의 μ‹œμž‘μ‹œκ°„κ³Ό λλ‚˜λŠ” μ‹œκ°„μ΄ 주어진닀. μ‹œμž‘ μ‹œκ°„κ³Ό λλ‚˜λŠ” μ‹œκ°„μ€ 2..

[λ°±μ€€/Python] 1744번 수 λ¬ΆκΈ°

1οΈβƒ£λ¬Έμ œ μ„€λͺ… 길이가 N인 μˆ˜μ—΄μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ·Έ μˆ˜μ—΄μ˜ 합을 κ΅¬ν•˜λ €κ³  ν•œλ‹€. ν•˜μ§€λ§Œ, κ·Έλƒ₯ κ·Έ μˆ˜μ—΄μ˜ 합을 λͺ¨λ‘ λ”ν•΄μ„œ κ΅¬ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, μˆ˜μ—΄μ˜ 두 수λ₯Ό 묢으렀고 ν•œλ‹€. μ–΄λ–€ 수λ₯Ό 묢으렀고 ν•  λ•Œ, μœ„μΉ˜μ— 상관없이 묢을 수 μžˆλ‹€. ν•˜μ§€λ§Œ, 같은 μœ„μΉ˜μ— μžˆλŠ” 수(자기 μžμ‹ )λ₯Ό λ¬ΆλŠ” 것은 λΆˆκ°€λŠ₯ν•˜λ‹€. 그리고 μ–΄λ–€ 수λ₯Ό 묢게 되면, μˆ˜μ—΄μ˜ 합을 ꡬ할 λ•Œ 묢은 μˆ˜λŠ” μ„œλ‘œ κ³±ν•œ 후에 λ”ν•œλ‹€. 예λ₯Ό λ“€λ©΄, μ–΄λ–€ μˆ˜μ—΄μ΄ {0, 1, 2, 4, 3, 5}일 λ•Œ, κ·Έλƒ₯ 이 μˆ˜μ—΄μ˜ 합을 κ΅¬ν•˜λ©΄ 0+1+2+4+3+5 = 15이닀. ν•˜μ§€λ§Œ, 2와 3을 λ¬Άκ³ , 4와 5λ₯Ό 묢게 되면, 0+1+(2*3)+(4*5) = 27이 λ˜μ–΄ μ΅œλŒ€κ°€ λœλ‹€. μˆ˜μ—΄μ˜ λͺ¨λ“  μˆ˜λŠ” 단 ν•œλ²ˆλ§Œ λ¬Άκ±°λ‚˜, μ•„λ‹ˆλ©΄ 묢지 μ•Šμ•„μ•Όν•œλ‹€. μˆ˜μ—΄μ΄ μ£Όμ–΄μ‘Œμ„..

[λ°±μ€€/Python] 1715번 μΉ΄λ“œ μ •λ ¬ν•˜κΈ°

1οΈβƒ£λ¬Έμ œ μ„€λͺ… μ •λ ¬λœ 두 묢음의 숫자 μΉ΄λ“œκ°€ μžˆλ‹€κ³  ν•˜μž. 각 묢음의 μΉ΄λ“œμ˜ 수λ₯Ό A, B라 ν•˜λ©΄ 보톡 두 λ¬ΆμŒμ„ ν•©μ³μ„œ ν•˜λ‚˜λ‘œ λ§Œλ“œλŠ” λ°μ—λŠ” A+B 번의 비ꡐλ₯Ό ν•΄μ•Ό ν•œλ‹€. 이λ₯Όν…Œλ©΄, 20μž₯의 숫자 μΉ΄λ“œ 묢음과 30μž₯의 숫자 μΉ΄λ“œ λ¬ΆμŒμ„ ν•©μΉ˜λ €λ©΄ 50번의 비ꡐ가 ν•„μš”ν•˜λ‹€. 맀우 λ§Žμ€ 숫자 μΉ΄λ“œ 묢음이 책상 μœ„μ— 놓여 μžˆλ‹€. 이듀을 두 λ¬ΆμŒμ”© 골라 μ„œλ‘œ ν•©μ³λ‚˜κ°„λ‹€λ©΄, κ³ λ₯΄λŠ” μˆœμ„œμ— λ”°λΌμ„œ 비ꡐ νšŸμˆ˜κ°€ 맀우 달라진닀. 예λ₯Ό λ“€μ–΄ 10μž₯, 20μž₯, 40μž₯의 묢음이 μžˆλ‹€λ©΄ 10μž₯κ³Ό 20μž₯을 ν•©μΉœ λ’€, ν•©μΉœ 30μž₯ 묢음과 40μž₯을 ν•©μΉœλ‹€λ©΄ (10 + 20) + (30 + 40) = 100번의 비ꡐ가 ν•„μš”ν•˜λ‹€. κ·ΈλŸ¬λ‚˜ 10μž₯κ³Ό 40μž₯을 ν•©μΉœ λ’€, ν•©μΉœ 50μž₯ 묢음과 20μž₯을 ν•©μΉœλ‹€λ©΄ (10 + 40) + (50..

[λ°±μ€€/Python] 2178번 미둜 탐색

1οΈβƒ£λ¬Έμ œ μ„€λͺ… N×M크기의 λ°°μ—΄λ‘œ ν‘œν˜„λ˜λŠ” λ―Έλ‘œκ°€ μžˆλ‹€. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 λ―Έλ‘œμ—μ„œ 1은 이동할 수 μžˆλŠ” 칸을 λ‚˜νƒ€λ‚΄κ³ , 0은 이동할 수 μ—†λŠ” 칸을 λ‚˜νƒ€λ‚Έλ‹€. μ΄λŸ¬ν•œ λ―Έλ‘œκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, (1, 1)μ—μ„œ μΆœλ°œν•˜μ—¬ (N, M)의 μœ„μΉ˜λ‘œ 이동할 λ•Œ μ§€λ‚˜μ•Ό ν•˜λŠ” μ΅œμ†Œμ˜ μΉΈ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. ν•œ μΉΈμ—μ„œ λ‹€λ₯Έ 칸으둜 이동할 λ•Œ, μ„œλ‘œ μΈμ ‘ν•œ 칸으둜만 이동할 수 μžˆλ‹€. μœ„μ˜ μ˜ˆμ—μ„œλŠ” 15칸을 μ§€λ‚˜μ•Ό (N, M)의 μœ„μΉ˜λ‘œ 이동할 수 μžˆλ‹€. 칸을 μ…€ λ•Œμ—λŠ” μ‹œμž‘ μœ„μΉ˜μ™€ 도착 μœ„μΉ˜λ„ ν¬ν•¨ν•œλ‹€. 2οΈβƒ£μž…λ ₯ 첫째 쀄에 두 μ •μˆ˜ N, M(2 ≤ N, M ≤ 100)이 주어진닀. λ‹€μŒ N개의 μ€„μ—λŠ” M개의 μ •μˆ˜λ‘œ λ―Έλ‘œκ°€ 주어진닀. 각각의 수..

[λ°±μ€€/Python] 1260번 DFS와 BFS

1οΈβƒ£λ¬Έμ œ μ„€λͺ… κ·Έλž˜ν”„λ₯Ό DFS둜 νƒμƒ‰ν•œ 결과와 BFS둜 νƒμƒ‰ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 단, λ°©λ¬Έν•  수 μžˆλŠ” 정점이 μ—¬λŸ¬ 개인 κ²½μš°μ—λŠ” 정점 λ²ˆν˜Έκ°€ μž‘μ€ 것을 λ¨Όμ € λ°©λ¬Έν•˜κ³ , 더 이상 λ°©λ¬Έν•  수 μžˆλŠ” 점이 μ—†λŠ” 경우 μ’…λ£Œν•œλ‹€. 정점 λ²ˆν˜ΈλŠ” 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€μ΄λ‹€. 2οΈβƒ£μž…λ ₯ 첫째 쀄에 μ •μ μ˜ 개수 N(1 ≤ N ≤ 1,000), κ°„μ„ μ˜ 개수 M(1 ≤ M ≤ 10,000), 탐색을 μ‹œμž‘ν•  μ •μ μ˜ 번호 Vκ°€ 주어진닀. λ‹€μŒ M개의 μ€„μ—λŠ” 간선이 μ—°κ²°ν•˜λŠ” 두 μ •μ μ˜ λ²ˆν˜Έκ°€ 주어진닀. μ–΄λ–€ 두 정점 사이에 μ—¬λŸ¬ 개의 간선이 μžˆμ„ 수 μžˆλ‹€. μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” 간선은 μ–‘λ°©ν–₯이닀. 3οΈβƒ£μΆœλ ₯ 첫째 쀄에 DFSλ₯Ό μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό, κ·Έ λ‹€μŒ μ€„μ—λŠ” BFSλ₯Ό μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€. VλΆ€ν„° 방문된 점을 μˆœμ„œ..

[λ°±μ€€/Python] 13023번 ABCDE

1οΈβƒ£λ¬Έμ œ μ„€λͺ… BOJ μ•Œκ³ λ¦¬μ¦˜ μΊ ν”„μ—λŠ” 총 Nλͺ…이 μ°Έκ°€ν•˜κ³  μžˆλ‹€. μ‚¬λžŒλ“€μ€ 0λ²ˆλΆ€ν„° N-1번으둜 λ²ˆν˜Έκ°€ 맀겨져 있고, 일뢀 μ‚¬λžŒλ“€μ€ μΉœκ΅¬μ΄λ‹€. μ˜€λŠ˜μ€ λ‹€μŒκ³Ό 같은 친ꡬ 관계λ₯Ό 가진 μ‚¬λžŒ A, B, C, D, Eκ°€ μ‘΄μž¬ν•˜λŠ”μ§€ ꡬ해보렀고 ν•œλ‹€. AλŠ” B와 μΉœκ΅¬λ‹€. BλŠ” C와 μΉœκ΅¬λ‹€. CλŠ” D와 μΉœκ΅¬λ‹€. DλŠ” E와 μΉœκ΅¬λ‹€. μœ„μ™€ 같은 친ꡬ 관계가 μ‘΄μž¬ν•˜λŠ”μ§€ μ•ˆν•˜λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 2οΈβƒ£μž…λ ₯ 첫째 쀄에 μ‚¬λžŒμ˜ 수 N (5 ≤ N ≤ 2000)κ³Ό 친ꡬ κ΄€κ³„μ˜ 수 M (1 ≤ M ≤ 2000)이 주어진닀. λ‘˜μ§Έ 쀄뢀터 M개의 μ€„μ—λŠ” μ •μˆ˜ a와 bκ°€ 주어지며, a와 bκ°€ μΉœκ΅¬λΌλŠ” λœ»μ΄λ‹€. (0 ≤ a, b ≤ N-1, a ≠ b) 같은 친ꡬ 관계가 두 번 이상 μ£Όμ–΄μ§€λŠ” κ²½μš°λŠ” μ—†λ‹€. 3οΈβƒ£μΆœλ ₯ 문제..

[λ°±μ€€/Python] 2023번 μ‹ κΈ°ν•œ μ†Œμˆ˜

1οΈβƒ£λ¬Έμ œ μ„€λͺ… μˆ˜λΉˆμ΄κ°€ μ„Έμƒμ—μ„œ κ°€μž₯ μ’‹μ•„ν•˜λŠ” 것은 μ†Œμˆ˜μ΄κ³ , μ·¨λ―ΈλŠ” μ†Œμˆ˜λ₯Ό 가지고 λ…ΈλŠ” 것이닀. μš”μ¦˜ μˆ˜λΉˆμ΄κ°€ κ°€μž₯ κ΄€μ‹¬μžˆμ–΄ ν•˜λŠ” μ†Œμˆ˜λŠ” 7331이닀. 7331은 μ†Œμˆ˜μΈλ°, μ‹ κΈ°ν•˜κ²Œλ„ 733도 μ†Œμˆ˜μ΄κ³ , 73도 μ†Œμˆ˜μ΄κ³ , 7도 μ†Œμˆ˜μ΄λ‹€. 즉, μ™Όμͺ½λΆ€ν„° 1자리, 2자리, 3자리, 4자리 수 λͺ¨λ‘ μ†Œμˆ˜μ΄λ‹€! μˆ˜λΉˆμ΄λŠ” 이런 숫자λ₯Ό μ‹ κΈ°ν•œ μ†Œμˆ˜λΌκ³  이름 λΆ™μ˜€λ‹€. μˆ˜λΉˆμ΄λŠ” N자리의 숫자 μ€‘μ—μ„œ μ–΄λ–€ μˆ˜λ“€μ΄ μ‹ κΈ°ν•œ μ†Œμˆ˜μΈμ§€ κΆκΈˆν•΄μ‘Œλ‹€. N이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 수빈이λ₯Ό μœ„ν•΄ N자리 μ‹ κΈ°ν•œ μ†Œμˆ˜λ₯Ό λͺ¨λ‘ μ°Ύμ•„λ³΄μž. 2οΈβƒ£μž…λ ₯ 첫째 쀄에 N(1 ≤ N ≤ 8)이 주어진닀. 3οΈβƒ£μΆœλ ₯ N자리 수 μ€‘μ—μ„œ μ‹ κΈ°ν•œ μ†Œμˆ˜λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•΄μ„œ ν•œ 쀄에 ν•˜λ‚˜μ”© 좜λ ₯ν•œλ‹€. πŸ‘©πŸ»‍πŸ’»μž‘μ„±ν•œ μ½”λ“œ import sys sys.setrecu..