Potato
μ•ˆλ…•ν•˜μ„Έμš”, κ°μž‘λ‹ˆλ‹€?πŸ₯” ^___^ 😺 github λ°”λ‘œκ°€κΈ° πŸ‘‰πŸ»
λ°˜μ‘ν˜•

Developer 61

[λ°±μ€€] (Swift) 11053번 - κ°€μž₯ κΈ΄ μ¦κ°€ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄ (DP둜 ν‘ΈλŠ” LIS, 졜μž₯ 증가 λΆ€λΆ„ μˆ˜μ—΄ κ°œλ…)

문제 링크 https://www.acmicpc.net/problem/11053 11053번: κ°€μž₯ κΈ΄ μ¦κ°€ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄ μˆ˜μ—΄ Aκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, κ°€μž₯ κΈ΄ μ¦κ°€ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 예λ₯Ό λ“€μ–΄, μˆ˜μ—΄ A = {10, 20, 10, 30, 20, 50} 인 κ²½μš°μ— κ°€μž₯ κΈ΄ μ¦κ°€ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄μ€ A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 풀이 IDEA μ΄ˆλ°˜μ— λ„λŒ€μ²΄ 이게 무슨 μ†Œλ¦¬μ•Ό, κ·Έλƒ₯ μ˜€λ¦„μ°¨μˆœμ΄λ©΄ μˆ˜μ—΄μ΄ λ˜λŠ”κ±°μž„? 라고 μƒκ°ν•˜λ©° μ˜μ•„ν–ˆμ§€λ§Œ, λ°”λ‘œ 그게 잘 μ΄ν•΄ν•œ κ±°μ˜€λ‹€. 졜μž₯ 증가 λΆ€λΆ„ μˆ˜μ—΄ (LIS, Longest Increasing Subsequences) λΌλŠ” κ°œλ…μΈλ°, 주어진 λ°°μ—΄μ—μ„œ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ 이루어진 μˆ˜μ—΄ 쀑, κ°€μž₯ κΈ΄..

Algorithm/Baekjoon 2022.03.13

[λ°±μ€€] (Swift) 2193번 - 이친수 (μŠ€μœ„ν”„νŠΈ dp, λ™μ κ³„νšλ²•, 2차원)

문제 링크 https://www.acmicpc.net/problem/2193 2193번: 이친수 0κ³Ό 1둜만 이루어진 수λ₯Ό μ΄μ§„μˆ˜λΌ ν•œλ‹€. μ΄λŸ¬ν•œ μ΄μ§„μˆ˜ 쀑 νŠΉλ³„ν•œ μ„±μ§ˆμ„ κ°–λŠ” 것듀이 μžˆλŠ”λ°, 이듀을 이친수(pinary number)라 ν•œλ‹€. μ΄μΉœμˆ˜λŠ” λ‹€μŒμ˜ μ„±μ§ˆμ„ λ§Œμ‘±ν•œλ‹€. μ΄μΉœμˆ˜λŠ” 0으둜 μ‹œμž‘ν•˜μ§€ μ•Š www.acmicpc.net 풀이 IDEA N=2 λΆ€ν„° κ·œμΉ™μ„ μ°Ύμ•„λ³΄λ‹ˆκΉŒ, 이전에 ν’€μ—ˆλ˜ λ™μ κ³„νšλ²• λ¬Έμ œμ™€ λΉ„μŠ·ν•˜κ²Œ λμžλ¦¬μ— λ”°λΌμ„œ κ²½μš°κ°€ λ‚˜λ‰˜μ—ˆλ‹€. μ•„λž˜μ™€ 같이 점화식을 λ„μΆœν•  수 μžˆλ‹€. 이λ₯Ό μ½”λ“œλ‘œ κ΅¬ν˜„ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€. let n = Int(readLine()!)! var dp = [[Int]](repeating: Array(repeating: 0, count: 2), count: n+1) if n..

Algorithm/Baekjoon 2022.03.12

[λ°±μ€€] (Swift) 10844번 - μ‰¬μš΄ 계단 수 (dp 기초 문제, 2차원 λ°°μ—΄λ‘œ λ™μ κ³„νšλ²• 문제 ν’€κΈ°)

문제 링크 https://www.acmicpc.net/problem/10844 10844번: μ‰¬μš΄ 계단 수 첫째 쀄에 정닡을 1,000,000,000으둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό 좜λ ₯ν•œλ‹€. www.acmicpc.net 풀이 IDEA dpλ₯Ό κΎΈμ€€νžˆ ν’€λ‹€λ³΄λ‹ˆ, μ–΄λ–€κ²Œ 2μ°¨μ›μœΌλ‘œ 풀어야할지, μ–΄λ–€κ²Œ 일반 dp 1차원 λ°°μ—΄λ‘œ 풀어야할지 감이 μž‘ν˜”λ‹€. 올레! ν•΄λ‹Ή λ¬Έμ œλŠ” N=1 λΆ€ν„° 경우의수λ₯Ό ν•˜λ‚˜μ”© λ”°μ Έκ°€λ©° 그림을 κ·Έλ €λ³΄λ‹ˆ, κ·œμΉ™μ΄ λˆˆμ— λ³΄μ˜€λ‹€. 찾은 κ·œμΉ™μ€ μ•„λž˜μ™€ κ°™λ‹€. μœ„ 그림을 보면, 맨 λ’·μžλ¦¬μˆ˜κ°€ 0κ³Ό 9인 κ²½μš°μ—λŠ” ν•œκ°€μ§€μ”© λŠ˜μ–΄λ‚  수 있고, 1~8 이라면 λ‘κ°€μ§€μ˜ 경우둜 λŠ˜μ–΄λ‚  수 μžˆλ‹€λŠ” κ·œμΉ™μ„ μ°Ύμ•„λ‚Ό μˆ˜μžˆλ‹€. 이λ₯Ό dp κ²½μš°μ˜μˆ˜μ— 맞게 도식화 ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€. ν˜„μž¬ Nμ—μ„œ, 0을 맨 λ’·μžλ¦¬λ‘œ 가지렀면, N-1..

Algorithm/Baekjoon 2022.03.12

[Swift] 곡식 λ¬Έμ„œ 정리 (21)- Extenstions (ν™•μž₯, μ΅μŠ€ν…μ…˜, ν™•μž₯ κΈ°λŠ₯)

μ•ˆλ…•ν•˜μ„Έμš”, κ°μžμž…λ‹ˆλ‹€. μ˜€λŠ˜μ€ Extension에 λŒ€ν•΄μ„œ 곡뢀해본 λ‚΄μš©μ„ μ •λ¦¬ν–ˆμ–΄μš”. 그럼 μ‹œμž‘! Swift Document chap.21 Extension λ°”λ‘œκ°€κΈ° Extensions — The Swift Programming Language (Swift 5.6) Extensions Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend types for which you don’t have access to the original source code (known as retroactive modeling). Exten..

[λ°±μ€€] (Swift) 15990번 - 1,2,3 λ”ν•˜κΈ° 5 (DP 기초 문제, 2차원 λ°°μ—΄ μ‚¬μš©ν•˜μ—¬ λ™μ κ³„νšλ²• 문제 ν’€κΈ°)

문제 링크 https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 λ”ν•˜κΈ° 5 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€, n을 1, 2, 3의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” λ°©λ²•μ˜ 수λ₯Ό 1,000,000,009둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό 좜λ ₯ν•œλ‹€. www.acmicpc.net 풀이 IDEA (DP μ–΄λ ΅λ‹€ .. λ‚˜μ€‘μ— μ½”λ”©ν…ŒμŠ€νŠΈ 문제λ₯Ό μ—°μŠ΅ν• λ•Œ dp 뢀뢄을 μ§‘μ€‘μ μœΌλ‘œ κ³΅λž΅ν•  것이닀 γ… γ…  ) λ¨Όμ € ν’€μ—ˆλ˜ "λ°±μ€€ 9095번 1,2,3 λ”ν•˜κΈ°" μ™€λŠ” λ‹€λ₯΄κ²Œ, λ”ν•΄μ§€λŠ” 숫자의 "μˆœμ„œ!!"λ₯Ό μƒκ°ν•΄μ•Όν•œλ‹€λŠ” 점이 μ–΄λ €μ› λ‹€. 9095번 4λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ 경우의 수 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 같은 수 쀑볡 κ°€λŠ₯ 15990번 (μ§€κΈˆ 문제) 4λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ 경우의 수 1+2+1 1+3 ..

Algorithm/Baekjoon 2022.03.10

[Swift] 곡식 λ¬Έμ„œ 정리 (20) - Nested Types (쀑첩 νƒ€μž…)

μ•ˆλ…•ν•˜μ„Έμš”, κ°μžμž…λ‹ˆλ‹€. μ˜€λŠ˜μ€ κ³΅μ‹λ¬Έμ„œ 20번째 챕터 쀑첩 νƒ€μž…μ— λŒ€ν•΄μ„œ κ³΅λΆ€ν•œ 글을 정리해보렀고 ν•©λ‹ˆλ‹€. 아직 μ•±κ°œλ°œμ„ 막 ν•΄λ³Έ κ²½ν—˜μ΄ μ—†μ–΄μ„œ ν•΄λ‹Ή μ€‘μ²©νƒ€μž…μ— λŒ€ν•΄μ„œλ„ μ•½κ°„ 애맀λͺ¨ν˜Έν•˜κ²Œ 이해가 λ˜λŠ” 감이 없지 μ•Šμ•„ μžˆλ„€μš”. μ°¨μ°¨ 잘 μ•Œκ²Œ 되겟죠? γ…Žγ…Ž 일단 기초 λΉ‘μ„Έκ²Œ μž‘μ•„λ΄…μ‹œλ‹€. Swift Document chap.20 Nested Types λ°”λ‘œκ°€κΈ° Nested Types — The Swift Programming Language (Swift 5.6) Nested Types Enumerations are often created to support a specific class or structure’s functionality. Similarly, it can be convenient to de..

[Swift] 곡식 λ¬Έμ„œ 정리 (19) - Type Casting (νƒ€μž…μΊμŠ€νŒ…) (λ‹€μš΄μΊμŠ€νŒ…, as, is)

μ•ˆλ…•ν•˜μ„Έμš”, μ§€μΉ˜μ§€ μ•Šκ³  λŒμ•„μ˜¨ κ³΅μ‹λ¬Έμ„œ 정리 ν¬μŠ€νŒ…μž…λ‹ˆλ‹€. μš”μ¦˜ μ• ν”Œ λ””λ²¨λ‘œνΌ 아카데미도 λΆ™μ—ˆλ‹€, μŠ€ν„°λ””λ„ ν•œλ‹€, ν•˜λ©΄μ„œ κ°œμΈκ³΅λΆ€λ₯Ό 쑰금 μ†Œν™€νžˆ ν•˜κ³  μžˆλŠ”λ°, 정말 λ°˜μ„±ν•˜λŠ” μ˜λ―Έλ‘œλ‹€κ°€ μ˜€λŠ˜μ€ μ’€ 곡뢀도 μ•„μΉ¨ 일찍 μ‹œμž‘ν•΄λ΄€μ–΄μš”... 갓생 μ‚΄μ•„λ³΄μžμ•„γ…μ•„... κ°“μƒμ‚°λ‹€κ³ λŠ” ν•˜λŠ”λ°, μ–Έμ œλ‚˜ 만쑱슀러운 갓생을 살아본적은 아직 μ—†λŠ” κ²ƒκ°™μ•„μš”. μ–Έμ œμ―€, 제 κΈ°λŒ€μΉ˜μ— λ§Œμ‘±ν• λ§Œν•œ κ³΅λΆ€μ˜ 양을 μ±„μš°κ³  ν•˜λ£¨λ₯Ό 정말 μ•Œμ°¨κ²Œ μ‚΄ 수 μž‡μ„κΉŒμš”? 흠흠흠... λ…Έλ ₯ν•΄λ΄…μ‹œλ‹€ λͺ¨λ‘ ν™”μ΄νŒ… 그럼 κ³΅μ‹λ¬Έμ„œ 정리 μ‹œμž‘! Swift document chap.19 Type Casting λ°”λ‘œκ°€κΈ° Type Casting — The Swift Programming Language (Swift 5.6) Type Casting Type casting..

[Swift] 곡식 λ¬Έμ„œ 정리 (17) Error Handling (μ—λŸ¬ 처리 방법 4가지, do-catch, throws ꡬ문)

μ•ˆλ…•ν•˜μ„Έμš”, κ°μžμž…λ‹ˆλ‹€. μ˜€λŠ˜μ€ μ—λŸ¬λ₯Ό ν•Έλ“€λ§ν•˜λŠ” 방법에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ„λ‘ ν• κ²Œμš”. swift κ³΅μ‹λ¬Έμ„œ 17번째 μ±•ν„°μ—μš”! 일주일에 μ•½3~5κ°œμ”© κΎΈμ€€νžˆ μ •λ¦¬ν•˜λ‹€λ³΄λ‹ˆ 벌써 17개λ₯Ό ν–ˆλ„€μš” γ…Žγ…Ž ν•˜λ©΄μ„œ λͺ¨λ“  κ°œλ…μ΄ μ™„λ²½ν•˜κ²Œ μž‘νžˆμ§„ μ•Šμ•˜μ§€λ§Œ, ν•˜λ‚˜ν•˜λ‚˜ λͺ¨λ₯΄λ˜ 뢀뢄을 μ•Œκ²Œλ˜κ³  λ†“μ³€λ˜ 뢀뢄도 λ‹€μ‹œ λ³΄κ²Œλ˜λŠ” 것 κ°™μ•„μš”. 기본적으둜 3νšŒλ…μ •λ„ ν•˜λ©΄, λ©΄μ ‘ λŒ€λΉ„κΉŒμ§€ 되겟죠?! γ…Žγ…Žγ…Žγ…Ž ν™”μ΄νŒ…μž…λ‹ˆλ‹€ λͺ¨λ‘! Swift document chap.17 Error Handling λ³΄λŸ¬κ°€κΈ° Error Handling — The Swift Programming Language (Swift 5.6) Error Handling Error handling is the process of responding to and recoverin..

[Swift] 곡식 λ¬Έμ„œ 정리 (16) - Optional Chaining (μ˜΅μ…”λ„ 체이닝, ?)

μ•ˆλ…•ν•˜μ„Έμš”, κ°μžμž…λ‹ˆλ‹€. μ˜€λžœλ§Œμ— λŒμ•„μ˜¨ 것 κ°™μ€λ°μš”, (μ•„λ‹Œκ°€ γ…Ž) μš”μ¦˜ μŠ€ν„°λ””λ§Œ μ§„ν–‰ν•˜κ³  μŠ€ν„°λ””ν•œ λ‚΄μš©μ„ μ—…λ‘œλ“œν•˜λŠ” 것을 κΉŒλ¨Ήμ—ˆλ„€μš”. 그리고 μ‚¬λžŒμ΄λΌλŠ”κ²Œ,, 쑰금 μš”μ¦˜ λ‚˜νƒœν•΄μ Έμ„œ γ… γ…  λ‹€μ‹œ ν•œλ²ˆ ν™”μ΄νŒ… μ™ΈμΉ˜κ³  갓생살기 λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€ ν—ˆν—› Swift Document chap16. optional chaining λ³΄λŸ¬κ°€κΈ° Optional Chaining — The Swift Programming Language (Swift 5.6) Optional Chaining Optional chaining is a process for querying and calling properties, methods, and subscripts on an optional that might currently be nil...

[λ°±μ€€] (Swift) 11727번 - 2xn 타일링2 (μŠ€μœ„ν”„νŠΈ, dp, λ™μ κ³„νšλ²• μžμ„Έν•œ 풀이)

문제 링크 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n μ§μ‚¬κ°ν˜•μ„ 1×2, 2×1κ³Ό 2×2 νƒ€μΌλ‘œ μ±„μš°λŠ” λ°©λ²•μ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μ•„λž˜ 그림은 2×17 μ§μ‚¬κ°ν˜•μ„ μ±„μš΄ ν•œκ°€μ§€ μ˜ˆμ΄λ‹€. www.acmicpc.net λ‚΄κ°€ ν‘Ό 풀이 μš°μ„  이전 2xn타일링 λ¬Έμ œμ—μ„œλŠ” κ·œμΉ™μ„ λ°œκ²¬ν•˜κ³  κ·Έλƒ₯ ν”Όλ³΄λ‚˜μΉ˜ λ°©μ‹μœΌλ‘œ ν’€μ—ˆλ‹€. 이 λ¬Έμ œλŠ” κ·Έ 문제의 μ—°μž₯μ„ μ΄κΈ°λŠ” ν•˜μ§€λ§Œ, ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄ κ·œμΉ™μœΌλ‘œλŠ” ν’€ μˆ˜κ°€ μ—†μ—ˆλ‹€. μ •ν™•ν•˜κ²Œ μ™œ 그런 λ°©μ‹μœΌλ‘œ 문제λ₯Ό ν’€μ—ˆλŠ”μ§€ μ΄ν•΄ν•˜λŠ” 것이 μ€‘μš”ν–ˆλ‹€.. μš°μ„  풀이에 μ•žμ„œ 경우의 수λ₯Ό κ΅¬ν•˜λŠ” 방식과 원리에 λŒ€ν•΄μ„œ μ΄ν•΄ν•΄λ³΄μž. [1, 2, 3, 4] 의 배열이 μžˆμ„ λ•Œ , 이 μˆ«μžλ“€λ‘œ λ§Œλ“€ 수 μžˆλŠ” μˆœμ—΄μ„ μž‘μ„±ν•΄λ³΄λ©΄ λ‹€μŒ..

Algorithm/Baekjoon 2022.03.05
λ°˜μ‘ν˜•