μ•Œκ³ λ¦¬μ¦˜/BOJ

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 2457 κ³΅μ£Όλ‹˜μ˜ 정원

✨ 그리디 & μ •λ ¬ https://www.acmicpc.net/problem/2457 2457번: κ³΅μ£Όλ‹˜μ˜ 정원 첫째 μ€„μ—λŠ” κ½ƒλ“€μ˜ 총 개수 N (1 ≀ N ≀ 100,000)이 주어진닀. λ‹€μŒ N개의 μ€„μ—λŠ” 각 꽃이 ν”ΌλŠ” λ‚ μ§œμ™€ μ§€λŠ” λ‚ μ§œκ°€ 주어진닀. ν•˜λ‚˜μ˜ λ‚ μ§œλŠ” μ›”κ³Ό 일을 λ‚˜νƒ€λ‚΄λŠ” 두 숫자둜 ν‘œν˜„λœλ‹€. 예λ₯Ό λ“€μ–΄μ„œ, www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 λ‚ μ§œλ₯Ό λΉ„κ΅ν•˜κΈ° μœ„ν•΄ μž…λ ₯으둜 주어진 정보λ₯Ό λŒ€μ†ŒλΉ„κ΅ κ°€λŠ₯ν•˜κ²Œλ” μ •μˆ˜λ‘œ λ°”κΎΈκΈ° 3/1 ~ 11/30 κΉŒμ§€λ§Œ ν™•μΈν•˜λ©΄ λœλ‹€. 꽃이 μ§€λŠ” λ‚ μ—λŠ” 꽃을 λ³Ό 수 μ—†λ‹€. μž…λ ₯으둜 주어진 λ‚ μ§œλ₯Ό 꽃이 ν•€ λ‚ μ§œκ°€ 이λ₯Έ 순, λ§Œμ•½ ν•€ λ‚ μ§œκ°€ κ°™λ‹€λ©΄ 진 λ‚ μ§œκ°€ 이λ₯Έ 순으둜 μ •λ ¬μ‹œμΌœμ•Ό ν•œλ‹€. πŸ•ΉοΈ 풀이 κ³Όμ • λͺ» ν’€μ–΄μ„œ 풀이λ₯Ό 보고 λ‹€μ‹œ ν’€μ—ˆλ‹€. Olympia..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 1202 보석도둑 - Java

✨ μš°μ„ μˆœμœ„ 큐 & μ •λ ¬ https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 쀄에 Nκ³Ό Kκ°€ 주어진닀. (1 ≀ N, K ≀ 300,000) λ‹€μŒ N개 μ€„μ—λŠ” 각 λ³΄μ„μ˜ 정보 Mi와 Viκ°€ 주어진닀. (0 ≀ Mi, Vi ≀ 1,000,000) λ‹€μŒ K개 μ€„μ—λŠ” 가방에 담을 수 μžˆλŠ” μ΅œλŒ€ 무게 Ciκ°€ 주어진닀. (1 ≀ Ci www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν›”μΉ  수 μžˆλŠ” 보석 κ°€κ²©μ˜ μ΅œλŒ€μ˜ 합을 ꡬ해야 ν•œλ‹€. λ³΄μ„μ˜ 개수

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 1238 νŒŒν‹° - Java

✨ κ·Έλž˜ν”„ πŸ‘‰ λ‹€μ΅μŠ€νŠΈλΌ (μ΅œλ‹¨κ²½λ‘œ 탐색 μ•Œκ³ λ¦¬μ¦˜) https://www.acmicpc.net/problem/1238 1238번: νŒŒν‹° 첫째 쀄에 N(1 ≀ N ≀ 1,000), M(1 ≀ M ≀ 10,000), Xκ°€ 곡백으둜 κ΅¬λΆ„λ˜μ–΄ μž…λ ₯λœλ‹€. 두 번째 쀄뢀터 M+1번째 μ€„κΉŒμ§€ i번째 λ„λ‘œμ˜ μ‹œμž‘μ , 끝점, 그리고 이 λ„λ‘œλ₯Ό μ§€λ‚˜λŠ”λ° ν•„μš”ν•œ μ†Œμš”μ‹œκ°„ Tiκ°€ λ“€μ–΄ www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 각 ν•™μƒλ“€μ˜ μ§‘μ—μ„œ νŒŒν‹° μž₯μ†ŒκΉŒμ§€ 였고 κ°€λŠ” 데 κ±Έλ¦¬λŠ” μ΅œλ‹¨ μ‹œκ°„ κ΅¬ν•˜κΈ° λ„λ‘œλ“€μ€ 단방ν–₯ πŸ‘‰ κΈΈλ§ˆλ‹€ κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ λ‹€λ₯΄λ―€λ‘œ 였고 κ°€λŠ” κΈΈ λ˜ν•œ 닀름 ! Nλͺ…μ˜ 학생듀 쀑 였고 κ°€λŠ” 데 κ°€μž₯ λ§Žμ€ μ‹œκ°„μ„ μ†ŒλΉ„ν•œ 학생 좜λ ₯ πŸ•ΉοΈ 풀이과정 μ§‘μ—μ„œ νŒŒν‹° μž₯μ†ŒκΉŒμ§€ κ°€λŠ” 데 κ±Έλ¦¬λŠ” μ΅œλ‹¨ μ‹œκ°„ + νŒŒν‹° μž₯μ†Œμ—μ„œ..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 2169 λ‘œλ΄‡ μ‘°μ’…ν•˜κΈ° - Java

✨ DP https://www.acmicpc.net/problem/2169 2169번: λ‘œλ΄‡ μ‘°μ’…ν•˜κΈ° 첫째 쀄에 N, M(1≀N, M≀1,000)이 주어진닀. λ‹€μŒ N개의 μ€„μ—λŠ” M개의 수둜 배열이 주어진닀. λ°°μ—΄μ˜ 각 μˆ˜λŠ” μ ˆλŒ“κ°’μ΄ 100을 λ„˜μ§€ μ•ŠλŠ” μ •μˆ˜μ΄λ‹€. 이 값은 κ·Έ μ§€μ—­μ˜ κ°€μΉ˜λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  사항 λ‘œλ΄‡μ€ 움직일 λ•Œ λ°°μ—΄μ—μ„œ μ™Όμͺ½, 였λ₯Έμͺ½, μ•„λž˜μͺ½μœΌλ‘œ 이동할 수 μžˆμ§€λ§Œ μœ„μͺ½μœΌλ‘œλŠ” 이동 X ν•œ 번 νƒμ‚¬ν•œ 지역은 μž¬νƒμ‚¬ X (1, 1)μ—μ„œ (N, M)κΉŒμ§€ 갈 λ•Œ νƒμ‚¬ν•œ μ§€μ—­λ“€μ˜ κ°€μΉ˜μ˜ μ΅œλŒ“κ°’ κ΅¬ν•˜κΈ° πŸ•ΉοΈ 풀이 방법 μš°μ„  0번째 행에 μžˆλŠ” 값듀은 μ™Όμͺ½μ—μ„œλΆ€ν„° μ΄λ™ν•˜λ©΄μ„œ 합쳐진 값을 κΈ°λ‘ν•œλ‹€. 이미 νƒμƒ‰ν•œ 길은 λ‹€μ‹œ λ°©λ¬Έν•  수 μ—†μœΌλ―€λ‘œ κ²½λ‘œκ°€ μ™Όμͺ½μœΌλ‘œλΆ€ν„° 이동..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 14503 λ‘œλ΄‡μ²­μ†ŒκΈ° - Java

✨ κ΅¬ν˜„ https://www.acmicpc.net/problem/14503 14503번: λ‘œλ΄‡ μ²­μ†ŒκΈ° 첫째 쀄에 방의 크기 $N$κ³Ό $M$이 μž…λ ₯λœλ‹€. $(3 \le N, M \le 50)$ λ‘˜μ§Έ 쀄에 μ²˜μŒμ— λ‘œλ΄‡ μ²­μ†ŒκΈ°κ°€ μžˆλŠ” 칸의 μ’Œν‘œ $(r, c)$와 μ²˜μŒμ— λ‘œλ΄‡ μ²­μ†ŒκΈ°κ°€ λ°”λΌλ³΄λŠ” λ°©ν–₯ $d$κ°€ μž…λ ₯λœλ‹€. $d$κ°€ $0$인 경우 뢁μͺ½ www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 μ£Όλ³€ λ™μ„œλ‚¨λΆ 4μΉΈ 쀑 μ²­μ†Œλ˜μ§€ μ•Šμ€ 빈 칸이 μ—†λŠ” 경우 즉, λͺ¨λ‘ μ²­μ†Œλ˜μ—ˆλ‹€λ©΄ λ°”λΌλ³΄λŠ” λ°©ν–₯을 μœ μ§€ν•˜κ³  ν•œ μΉΈ 후진 κ°€λŠ₯ν•˜λ©΄ ν›„μ§„ν•œλ‹€. λ¬Έμ œμ—μ„œ 0123 = λΆλ™λ‚¨μ„œλΌλŠ” 쑰건을 μ œμ‹œν–ˆλ‹€. 후진할 μ‹œ λ°©ν–₯이 λΆβž”λ‚¨, λ‚¨βž”λΆ / λ™βž”μ„œ, μ„œβž”λ™μœΌλ‘œ μ΄λ™ν•˜κΈ° λ•Œλ¬Έμ— ν˜„μž¬ λ°”λΌλ³΄λŠ” λ°©ν–₯이 0, 1(뢁, 동)이라면 +2λ₯Ό ν•΄μ€ŒμœΌ..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 19238 μŠ€νƒ€νŠΈ νƒμ‹œ - Java

✨ κ΅¬ν˜„ & BFS(μ΅œλ‹¨κ±°λ¦¬) https://www.acmicpc.net/problem/19238 19238번: μŠ€νƒ€νŠΈ νƒμ‹œ 첫 쀄에 N, M, 그리고 초기 μ—°λ£Œμ˜ 양이 주어진닀. (2 ≀ N ≀ 20, 1 ≀ M ≀ N2, 1 ≀ 초기 μ—°λ£Œ ≀ 500,000) μ—°λ£ŒλŠ” λ¬΄ν•œνžˆ 많이 담을 수 있기 λ•Œλ¬Έμ—, 초기 μ—°λ£Œμ˜ 양을 λ„˜μ–΄μ„œ 좩전될 μˆ˜λ„ μžˆλ‹€. λ‹€ www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 νƒμ‹œμ˜ μœ„μΉ˜μ—μ„œλΆ€ν„° μŠΉκ°κΉŒμ§€μ˜ μ΅œλ‹¨κ±°λ¦¬λ₯Ό κ΅¬ν•œλ‹€. πŸ‘‰ μ‹œκ°„μ΄ˆκ³Ό 주의 ! μ΅œλ‹¨κ±°λ¦¬κ°€ λ™μΌν•œ μŠΉκ°λ“€μ΄ μ‘΄μž¬ν•  경우 κ·Έ 쀑 ν–‰ λ²ˆν˜Έκ°€ κ°€μž₯ μž‘μ€ μŠΉκ°μ„, 그런 μŠΉκ°λ„ μ—¬λŸ¬ λͺ…이라면 μ—΄ λ²ˆν˜Έκ°€ κ°€μž₯ μž‘μ€ μŠΉκ°μ—κ²Œ μ΄λ™ν•œλ‹€. πŸ‘‰ PriorityQueue ν™œμš© 벽에 μ˜ν•΄ μŠΉκ°μ—κ²Œ 가지 λͺ»ν•˜κ±°λ‚˜ λͺ©μ μ§€μ— 가지 λͺ»ν•˜λŠ” 상황 ..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 17837 μƒˆλ‘œμš΄ κ²Œμž„2 - Java

✨ κ΅¬ν˜„ https://www.acmicpc.net/problem/17837 17837번: μƒˆλ‘œμš΄ κ²Œμž„ 2 μž¬ν˜„μ΄λŠ” 주변을 μ‚΄νŽ΄λ³΄λ˜ 쀑 체슀판과 말을 μ΄μš©ν•΄μ„œ μƒˆλ‘œμš΄ κ²Œμž„μ„ λ§Œλ“€κΈ°λ‘œ ν–ˆλ‹€. μƒˆλ‘œμš΄ κ²Œμž„μ€ 크기가 NΓ—N인 μ²΄μŠ€νŒμ—μ„œ μ§„ν–‰λ˜κ³ , μ‚¬μš©ν•˜λŠ” 말의 κ°œμˆ˜λŠ” Kκ°œμ΄λ‹€. 말은 μ›νŒλͺ¨μ–‘이고, ν•˜ www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 ν•œ μ’Œν‘œ μ•ˆμ— μ—¬λŸ¬ 개의 말이 λ“€μ–΄κ°ˆ 수 μžˆλ‹€. βž” μ΄λ™ν•˜λ €λŠ” 칸에 말이 μ‘΄μž¬ν•œλ‹€λ©΄ κ·Έ μœ„μ— 말이 올라감 ν•œ 말이 이동할 λ•Œ μœ„μ— 올렀져 μžˆλŠ” λ§κΉŒμ§€ λͺ¨λ‘ μ΄λ™ν•œλ‹€. μ—¬λŸ¬ 개의 말이 λ“€μ–΄κ°ˆ λ•Œ μ’Œν‘œμ˜ 색깔에 따라 μ •λ ¬ 기쀀이 μ‘΄μž¬ν•œλ‹€. μ’Œν‘œμ˜ λ²”μœ„λ₯Ό λ²—μ–΄λ‚˜κ±°λ‚˜ μ’Œν‘œ 칸이 νŒŒλž€μƒ‰μΌ λ•Œμ˜ 쑰건을 μœ μ˜ν•΄μ•Όν•œλ‹€. πŸ•ΉοΈ 풀이과정 μ–΄λ–€ 자료ꡬ쑰둜 ν™œμš©ν• μ§€ μ •ν•˜κΈ°λ§Œ ν•˜λ©΄ μ‰½κ²Œ ν’€..

μ•Œκ³ λ¦¬μ¦˜/BOJ

[BOJ] 17485 μ§„μš°μ˜ 달 μ—¬ν–‰ (Large) - Java

✨ DP https://www.acmicpc.net/problem/17485 17485번: μ§„μš°μ˜ 달 μ—¬ν–‰ (Large) 첫쀄에 지ꡬ와 달 사이 곡간을 λ‚˜νƒ€λ‚΄λŠ” ν–‰λ ¬μ˜ 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” N, M (2 ≀ N, M ≀ 1000)이 주어진닀. λ‹€μŒ N쀄 λ™μ•ˆ 각 ν–‰λ ¬μ˜ μ›μ†Œ 값이 주어진닀. 각 ν–‰λ ¬μ˜ μ›μ†Œκ°’μ€ 100 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€. www.acmicpc.net πŸ“ κ³ λ €ν•΄μ•Όν•  점 μ™Όμͺ½ λŒ€κ°μ„ , μ•„λž˜, 였λ₯Έμͺ½ λŒ€κ°μ„  3가지 λ°©ν–₯으둜 μ΄λ™ν•œλ‹€. ✨✨ 같은 λ°©ν–₯으둜 두 번 μ—°μ†μœΌλ‘œ 움직일 수 μ—†λ‹€. ✨✨ πŸ•ΉοΈ 문제 풀이 ν˜„μž¬ μœ„μΉ˜λ₯Ό κΈ°μ€€μœΌλ‘œ κ·Έ μ „ 단계에 μ‚¬μš©ν–ˆλ˜ μ—°λ£Œμ˜ 양을 계속 μ•Œκ³  μžˆμ–΄μ•Ό ν•œλ‹€. κ·Έ μ „ 단계에 μ‚¬μš©ν–ˆλ˜ μ—°λ£Œμ˜ μ–‘κ³Ό ν˜„μž¬ μœ„μΉ˜μ— μžˆλŠ” μ—°λ£Œμ˜ μ–‘μ˜ 합을 κ΅¬ν•΄μ„œ μ΅œμ†Œμ˜ μ—°λ£Œλ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 경우..

soogoori
'μ•Œκ³ λ¦¬μ¦˜/BOJ' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘