λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ”₯ PS(Problem Solving) πŸ”₯122

[BOJ] #14500 ν…ŒνŠΈλ‘œλ―Έλ…Έ μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 512 MB 32.965% 14500번: ν…ŒνŠΈλ‘œλ―Έλ…Έ ν΄λ¦¬μ˜€λ―Έλ…Έλž€ 크기가 1×1인 μ •μ‚¬κ°ν˜•μ„ μ—¬λŸ¬ 개 μ΄μ–΄μ„œ 뢙인 λ„ν˜•μ΄λ©°, λ‹€μŒκ³Ό 같은 쑰건을 λ§Œμ‘±ν•΄μ•Ό ν•œλ‹€. μ •μ‚¬κ°ν˜•μ€ μ„œλ‘œ 겹치면 μ•ˆ λœλ‹€. λ„ν˜•μ€ λͺ¨λ‘ μ—°κ²°λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€. μ •μ‚¬κ°ν˜•μ˜ 변끼리 μ—°κ²°λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€. 즉, 꼭짓점과 κΌ­μ§“μ λ§Œ λ§žλ‹Ώμ•„ 있으면 μ•ˆ λœλ‹€. μ •μ‚¬κ°ν˜• 4개λ₯Ό 이어 뢙인 ν΄λ¦¬μ˜€λ―Έλ…ΈλŠ” ν…ŒνŠΈλ‘œλ―Έλ…ΈλΌκ³  ν•˜λ©°, λ‹€μŒκ³Ό 같은 5가지가 μžˆλ‹€. μ•„λ¦„μ΄λŠ” 크기가 N×M인 쒅이 μœ„μ— ν…ŒνŠΈλ‘œλ―Έλ…Έ ν•˜λ‚˜λ₯Ό λ†“μœΌλ €κ³  ν•œλ‹€. μ’…μ΄λŠ” 1×1 크기의 칸으둜 λ‚˜λˆ„ www.acmicpc.net 해결방법 κΈ°μ‘΄ ν…ŒνŠΈλ‘œλ―Έλ…Έμ—μ„œ νšŒμ „κ³Ό λŒ€μΉ­λœ λͺ¨μ–‘κΉŒμ§€ κ³ λ €ν•΄μ•Ό ν–ˆλŠ”λ°, νšŒμ „λ§Œ κ³ λ €ν•΄μ„œ 문제λ₯Ό ν’€μ—ˆκΈ° λ•Œλ¬Έμ— ν•œ 번 ν‹€λ Έμ—ˆλ‹€. λ‹€μŒμ˜.. 2019. 10. 10.
[BOJ] #13458 μ‹œν—˜κ°λ… μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 512 MB 24.464 % 13458번: μ‹œν—˜ 감독 첫째 쀄에 μ‹œν—˜μž₯의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진닀. λ‘˜μ§Έ μ€„μ—λŠ” 각 μ‹œν—˜μž₯에 μžˆλŠ” μ‘μ‹œμžμ˜ 수 Ai (1 ≤ Ai ≤ 1,000,000)κ°€ 주어진닀. μ…‹μ§Έ μ€„μ—λŠ” B와 Cκ°€ 주어진닀. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net ν•΄κ²° 방법 μ‹œν—˜μž₯ μˆ˜μ™€ 각 μ‹œν—˜μž₯λ§ˆλ‹€μ˜ μ‘μ‹œμž μˆ˜κ°€ μž…λ ₯으둜 주어진닀. 주어진 μž…λ ₯듀을 λ°°μ—΄ arr 에 μ €μž₯ν•˜λ©΄, μž„μ˜μ˜ μ‹œν—˜μž₯을 i 번째 μ‹œν—˜μž₯이라고 ν•  λ•Œ i 번째 μ‹œν—˜μž₯의 μ‘μ‹œμž μˆ˜λŠ” arr[i] 이닀. 각 arr[i]에 ν•΄λ‹Ήν•˜λŠ” μ‘μ‹œμž μˆ˜μ— 총 감독은 무쑰건 ν•œ λͺ…λ§Œ μžˆμ–΄μ•Ό ν•˜λ―€λ‘œ 총 감독이 κ°μ‹œν•  수 μžˆλŠ” 인원(B)을 λΊ€ κ°’μœΌλ‘œ .. 2019. 10. 9.
[BOJ] #2240 μžλ‘λ‚˜λ¬΄ μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 128 MB 35.371% 2240번: μžλ‘λ‚˜λ¬΄ μžλ‘λŠ” μžλ‘λ₯Ό μ’‹μ•„ν•œλ‹€. κ·Έλž˜μ„œ 집에 μžλ‘λ‚˜λ¬΄λ₯Ό 심어두고, μ—¬κΈ°μ„œ μ—΄λ¦¬λŠ” μžλ‘λ₯Ό λ¨Ήκ³ λŠ” ν•œλ‹€. ν•˜μ§€λ§Œ μžλ‘λŠ” ν‚€κ°€ μž‘μ•„μ„œ μžλ‘λ₯Ό λ”°λ¨Ήμ§€λŠ” λͺ»ν•˜κ³ , μžλ‘κ°€ λ–¨μ–΄μ§ˆ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦° λ‹€μŒμ— λ–¨μ–΄μ§€λŠ” μžλ‘λ₯Ό λ°›μ•„μ„œ λ¨Ήκ³ λŠ” ν•œλ‹€. μžλ‘λ₯Ό μž‘μ„ λ•Œμ—λŠ” μžλ‘κ°€ ν—ˆκ³΅μ— μžˆμ„ λ•Œ μž‘μ•„μ•Ό ν•˜λŠ”λ°, μ΄λŠ” μžλ‘κ°€ λ§λž‘λ§λž‘ν•˜μ—¬ λ°”λ‹₯에 떨어지면 λͺ» 먹을 μ •λ„λ‘œ λ­‰κ°œμ§€κΈ° λ•Œλ¬Έμ΄λ‹€. 맀 μ΄ˆλ§ˆλ‹€, 두 개의 λ‚˜λ¬΄ 쀑 ν•˜λ‚˜μ˜ λ‚˜λ¬΄μ—μ„œ 열맀가 λ–¨μ–΄μ§€κ²Œ λœλ‹€. λ§Œμ•½ 열맀가 λ–¨μ–΄μ§€λŠ” μˆœκ°„, μžλ‘ www.acmicpc.net 문제 μžλ‘λŠ” μžλ‘λ₯Ό μ’‹μ•„ν•œλ‹€. μžλ‘κ°€ λ–¨μ–΄μ§ˆ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦° λ‹€μŒμ— λ–¨μ–΄μ§€λŠ” μžλ‘λ₯Ό λ°›μ•„μ„œ λ¨Ήκ³ λŠ” ν•œλ‹€. μžλ‘κ°€ ν—ˆκ³΅μ— μžˆμ„ λ•Œ μž‘μ•„μ•Ό .. 2019. 10. 2.
[BOJ] #2169 λ‘œλ΄‡ μ‘°μ’…ν•˜κΈ° μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 512 MB 31.977% 2169번: λ‘œλ΄‡ μ‘°μ’…ν•˜κΈ° 첫째 쀄에 N, M(1≤N, M≤1,000)이 주어진닀. λ‹€μŒ N개의 μ€„μ—λŠ” M개의 수둜 배열이 주어진닀. λ°°μ—΄μ˜ 각 μˆ˜λŠ” μ ˆλŒ“κ°’μ΄ 100을 λ„˜μ§€ μ•ŠλŠ” μ •μˆ˜μ΄λ‹€. 이 값은 κ·Έ μ§€μ—­μ˜ κ°€μΉ˜λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. www.acmicpc.net 방법 λ‘œλ΄‡μ΄ 'μ•„λž˜μ™€ 였λ₯Έμͺ½'으둜 κ°€λŠ” 것과 'μ•„λž˜μ™€ μ™Όμͺ½'으둜 κ°€λŠ” 것 두 방법을 각각 κ΅¬ν•΄μ„œ 더 큰 κ°’μœΌλ‘œ dp 배열을 μ±„μ›Œλ‚˜κ°„λ‹€. μ—­μ‹œλ‚˜.. dpλŠ” 톡찰λ ₯!! 톡찰λ ₯을 ν‚€μš°μžγ…œγ…œ λ©”λͺ¨λ¦¬ μ‹œκ°„ 9012 KB 124 ms 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 29 30 31 32 33 34.. 2019. 10. 2.
[BOJ] #1149 RGB 거리 μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 0.5 초 128 MB 46.756% 1149번: RGB거리 RGB거리에 μ‚¬λŠ” μ‚¬λžŒλ“€μ€ 집을 λΉ¨κ°•, 초둝, νŒŒλž‘μ€‘μ— ν•˜λ‚˜λ‘œ μΉ ν•˜λ €κ³  ν•œλ‹€. λ˜ν•œ, 그듀은 λͺ¨λ“  이웃은 같은 μƒ‰μœΌλ‘œ μΉ ν•  수 μ—†λ‹€λŠ” κ·œμΉ™λ„ μ •ν–ˆλ‹€. 집 i의 이웃은 집 i-1κ³Ό 집 i+1이고, 첫 집과 λ§ˆμ§€λ§‰ 집은 이웃이 μ•„λ‹ˆλ‹€. 각 집을 λΉ¨κ°•μœΌλ‘œ μΉ ν•  λ•Œ λ“œλŠ” λΉ„μš©, 초둝으둜 μΉ ν•  λ•Œ λ“œλŠ” λΉ„μš©, νŒŒλž‘μœΌλ‘œ λ“œλŠ” λΉ„μš©μ΄ μ£Όμ–΄μ§ˆ λ•Œ, λͺ¨λ“  집을 μΉ ν•˜λŠ” λΉ„μš©μ˜ μ΅œμ†Ÿκ°’μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. www.acmicpc.net 문제 N개의 행에 λŒ€ν•˜μ—¬ ν•΄λ‹Ή ν–‰(집)을 빨간색, μ΄ˆλ‘μƒ‰, νŒŒλž€μƒ‰μœΌλ‘œ μΉ ν•  λ•Œ λ“œλŠ” λΉ„μš©μ΄ 각각 주어진닀. λ˜ν•œ, 그듀은 λͺ¨λ“  이웃은 같은 μƒ‰μœΌλ‘œ μΉ ν•  수 μ—†λ‹€λŠ” κ·œμΉ™λ„ μ •ν–ˆλ‹€. 집 i의 .. 2019. 10. 2.
[BOJ] #1010 닀리놓기 μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 128 MB 47.942% 1010번: 닀리 놓기 μž…λ ₯의 첫 μ€„μ—λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Tκ°€ 주어진닀. κ·Έ λ‹€μŒ 쀄뢀터 각각의 ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€μ— λŒ€ν•΄ κ°•μ˜ μ„œμͺ½κ³Ό 동μͺ½μ— μžˆλŠ” μ‚¬μ΄νŠΈμ˜ 개수 μ •μˆ˜ N, M (0 < N ≤ M < 30)이 주어진닀. www.acmicpc.net 방법 'dp[i][j]λŠ” μ„œμͺ½μ— i 개의 점이 있고, 동μͺ½μ— j 개의 점이 μžˆλ‹€κ³  ν–ˆμ„ λ•Œ 놓을 수 μžˆλŠ” λ‹€λ¦¬μ˜ 수' 라고 μ •μ˜λ₯Ό ν•΄λ³΄μ•˜λ‹€.그리고 그림을 κ·Έλ €λ΄€λŠ”λ°, 같은 i개의 점일 λ•ŒλŠ” j값에 따라 같은 λͺ¨μŠ΅μ˜ 닀리듀이 λ°˜λ³΅λ˜λŠ” 것을 λ³Ό 수 μžˆμ—ˆκ³  μ™Όμͺ½ 상단에 보이듯이 ν‘œλ₯Ό μ±„μ›Œλ³΄λ‹ˆ μ•„λž˜μ™€ 같은 κ·œμΉ™μ„ μ°Ύμ•„λ‚Ό 수 μžˆμ—ˆλ‹€. κ·Έλž˜μ„œ 식을 μ„Έμ›Œλ³΄λ©΄ μ΄λ ‡κ²Œ λœλ‹€. i == 1 dp[i][j] = j.. 2019. 10. 2.
[BOJ] #14891 ν†±λ‹ˆλ°”ν€΄ μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 512 MB 49.598% 14891번: ν†±λ‹ˆλ°”ν€΄ 총 8개의 ν†±λ‹ˆλ₯Ό 가지고 μžˆλŠ” ν†±λ‹ˆλ°”ν€΄ 4κ°œκ°€ μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 일렬둜 놓여져 μžˆλ‹€. 또, ν†±λ‹ˆλŠ” Nκ·Ή λ˜λŠ” Sκ·Ή 쀑 ν•˜λ‚˜λ₯Ό λ‚˜νƒ€λ‚΄κ³  μžˆλ‹€. ν†±λ‹ˆλ°”ν€΄μ—λŠ” λ²ˆν˜Έκ°€ 맀겨져 μžˆλŠ”λ°, κ°€μž₯ μ™Όμͺ½ ν†±λ‹ˆλ°”ν€΄κ°€ 1번, κ·Έ 였λ₯Έμͺ½μ€ 2번, κ·Έ 였λ₯Έμͺ½μ€ 3번, κ°€μž₯ 였λ₯Έμͺ½ ν†±λ‹ˆλ°”ν€΄λŠ” 4λ²ˆμ΄λ‹€. μ΄λ•Œ, ν†±λ‹ˆλ°”ν€΄λ₯Ό 총 K번 νšŒμ „μ‹œν‚€λ €κ³  ν•œλ‹€. ν†±λ‹ˆλ°”ν€΄μ˜ νšŒμ „μ€ ν•œ 칸을 κΈ°μ€€μœΌλ‘œ ν•œλ‹€. νšŒμ „μ€ μ‹œκ³„ λ°©ν–₯κ³Ό λ°˜μ‹œκ³„ λ°©ν–₯이 있고, μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 νšŒμ „ν•œλ‹€. ν†±λ‹ˆλ°”ν€΄λ₯Ό νšŒμ „μ‹œν‚€λ € www.acmicpc.net 방법 ν†±λ‹ˆλ°”ν€΄λ“€μ„ gears λΌλŠ” 배열에 μ €μž₯ν•΄ 두고 νšŒμ „μ‹œν‚¬ ν†±λ‹ˆλ°”ν€΄λ₯Ό gear 라고 ν–ˆμ„ λ•Œ, gear κΈ°μ€€μœΌλ‘œ μ™Όμͺ½ ν†±λ‹ˆλ°”ν€΄λ“€κ³Ό.. 2019. 10. 2.
[BOJ] #14889 μŠ€νƒ€νŠΈμ™€ 링크 μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 2 초 512 MB 50.576% 14889번: μŠ€νƒ€νŠΈμ™€ 링크 예제 2의 κ²½μš°μ— (1, 3, 6), (2, 4, 5)둜 νŒ€μ„ λ‚˜λˆ„λ©΄ 되고, 예제 3의 κ²½μš°μ—λŠ” (1, 2, 4, 5), (3, 6, 7, 8)둜 νŒ€μ„ λ‚˜λˆ„λ©΄ λœλ‹€. www.acmicpc.net 방법 1 : vector 이용 Brute Force 둜 μŠ€νƒ€νŠΈνŒ€μ˜ ꡬ성원을 ꡬ해고, μŠ€νƒ€νŠΈνŒ€μ˜ ꡬ성원을 기반으둜 λ§ν¬νŒ€μ˜ ꡬ성원을 μ•Œμ•„λ‚Έλ‹€. κ·Έλ ‡κ²Œ νŒ€μ˜ ꡬ성원을 μ•Œμ•„λ‚Έ 후에 각 νŒ€μ˜ λŠ₯λ ₯치λ₯Ό κ³„μ‚°ν•˜μ—¬ λΉ„κ΅ν•˜κ³  MIN 값을 맀번 κ°±μ‹ μ‹œν‚¨λ‹€. ν•¨μˆ˜ μ„€λͺ… 인자 idxλŠ” 인덱슀 μˆœμ„œλ₯Ό λ‚˜νƒ€λ‚΄κ³ , cnt λŠ” μŠ€νƒ€νŠΈνŒ€μ˜ ꡬ성원이 μ•„λ‹Œ μ‚¬λžŒμ˜ μˆ«μžμ΄λ‹€. μŠ€νƒ€νŠΈνŒ€κ³Ό λ§ν¬νŒ€μ˜ ꡬ성원은 무쑰건 n/2 λͺ…μ΄λ―€λ‘œ μŠ€νƒ€νŠΈνŒ€μ˜ ꡬ성원이 μ•„λ‹Œ.. 2019. 10. 2.
[BOJ] #3190 λ±€ μ‹œκ°„ μ œν•œ λ©”λͺ¨λ¦¬ μ œν•œ μ •λ‹΅ λΉ„μœ¨ 1 초 128 MB 31.052% 3190번: λ±€ 문제 'Dummy' λΌλŠ” λ„μŠ€κ²Œμž„μ΄ μžˆλ‹€. 이 κ²Œμž„μ—λŠ” 뱀이 λ‚˜μ™€μ„œ κΈ°μ–΄λ‹€λ‹ˆλŠ”λ°, 사과λ₯Ό 먹으면 λ±€ 길이가 λŠ˜μ–΄λ‚œλ‹€. 뱀이 이리저리 κΈ°μ–΄λ‹€λ‹ˆλ‹€κ°€ λ²½ λ˜λŠ” μžκΈ°μžμ‹ μ˜ λͺΈκ³Ό λΆ€λ”ͺ히면 κ²Œμž„μ΄ λλ‚œλ‹€. κ²Œμž„μ€ NxN 정사각 λ³΄λ“œμœ„μ—μ„œ μ§„ν–‰λ˜κ³ , λͺ‡λͺ‡ μΉΈμ—λŠ” 사과가 놓여져 μžˆλ‹€. λ³΄λ“œμ˜ μƒν•˜μ’Œμš° 끝에 벽이 μžˆλ‹€. κ²Œμž„μ΄ μ‹œμž‘ν• λ•Œ 뱀은 λ§¨μœ„ λ§¨μ’ŒμΈ‘μ— μœ„μΉ˜ν•˜κ³  λ±€μ˜ κΈΈμ΄λŠ” 1 이닀. 뱀은 μ²˜μŒμ— 였λ₯Έμͺ½μ„ ν–₯ν•œλ‹€. 뱀은 맀 μ΄ˆλ§ˆλ‹€ 이동을 ν•˜λŠ”λ° λ‹€μŒκ³Ό 같은 κ·œμΉ™μ„ λ”° www.acmicpc.net ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€ testcase 1 20 13 6 15 7 18 20 14 14 13 11 9 7 10 3 18 10 10 13 13 13 5 6.. 2019. 9. 29.