Skip to content

Commit

Permalink
✍️ update: markdown format
Browse files Browse the repository at this point in the history
- jekyll liquid filter로 자동으로 양식대로 변경되도록 변경
  • Loading branch information
marunemo committed Dec 19, 2023
1 parent 6ec44eb commit b1a6ef9
Show file tree
Hide file tree
Showing 8 changed files with 146 additions and 20 deletions.
5 changes: 0 additions & 5 deletions _sass/custom/custom.scss
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
// for inline text
.inline {
display: inline;
}

// for code space
code {
font-family: 'D2Coding', 'Consolas', 'Courier New', Courier, monospace;
Expand Down
2 changes: 1 addition & 1 deletion algorithm/knapsack.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ curr이 현재 담을 수 있는 용량이 아닌 이미 담긴 용량이라는
이 경우에는 이전 물건까지의 결과 중 현재 물건을 위한 공간을 마련했을 때의 최댓값을 가져와 현재 물건을 넣어 비교하게 된다.

이 과정을 그림과 함께 이해해보자.
만약 다음과 같은 최대 용량이 curr인 가방이 있다고 해보자.
만약 다음과 같은 최대 용량이 curr인 가방이 있다고 가정한다면,
우리는 이 가방에 무게를 임의로 정할 수 있는 가치가 0인 공기로 가득 채울 것이다.
때문에 **용량이 curr인 가방은 항상 담긴 용량도 curr이 된다**.
즉, 위 코드에서 가방에 실제로 어떤 물건이 어떤 무게였던 관계없이 항상 현재 가방에 들어있는 무게는 curr이고,
Expand Down
Binary file removed assets/screenshots/b1106.png
Binary file not shown.
Binary file added assets/screenshots/b1188.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/b1202.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 25 additions & 7 deletions pps/b1034.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,34 @@
---
title: 백준 1034
title: 백준 1034 | 램프
level: GOLD IV
layout: default
parent: 문제 풀이
---
{% assign title = page.title | split: " | " %}
{% assign name = title[0] %}
{% assign title = title[1] %}
{% assign number = name | split: " " %}
{% assign number = number[1] %}

# **램프**
# **{{ title }}**
{: .no_toc .fs-9 }

백준 1034
{: .fs-4 .inline }
Gold IV
{{ name }}
{: .fs-4 .d-inline }

{% if page.level contains 'BRONZE' %}
{{ page.level }}
{: .label .label-bronze }
{% elsif page.level contains 'SILVER' %}
{{ page.level }}
{: .label .label-silver }
{% elsif page.level contains 'GOLD' %}
{{ page.level }}
{: .label .label-gold }
{% elsif page.level contains 'PLATINUM' %}
{{ page.level }}
{: .label .label-platinum }
{% endif %}

<br/>

Expand All @@ -22,9 +40,9 @@ Gold IV
## 문제 내용
{: .fw-700 }

![problem.png](../assets/screenshots/b1034.png)
![problem.png](../assets/screenshots/b{{ number }}.png)

#### [문제 링크](https://www.acmicpc.net/problem/1034)
#### [문제 링크](https://www.acmicpc.net/problem/{{ number }})
{: .no_toc .fs-4 }

## 해결 방안
Expand Down
95 changes: 95 additions & 0 deletions pps/b1188.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
---
title: 백준 1188 | 음식 평론가
level: GOLD IV
layout: default
parent: 문제 풀이
---
{% assign title = page.title | split: " | " %}
{% assign name = title[0] %}
{% assign title = title[1] %}
{% assign number = name | split: " " %}
{% assign number = number[1] %}

# **{{ title }}**
{: .no_toc .fs-9 }

{{ name }}
{: .fs-4 .d-inline }

{% if page.level contains 'BRONZE' %}
{{ page.level }}
{: .label .label-bronze }
{% elsif page.level contains 'SILVER' %}
{{ page.level }}
{: .label .label-silver }
{% elsif page.level contains 'GOLD' %}
{{ page.level }}
{: .label .label-gold }
{% elsif page.level contains 'PLATINUM' %}
{{ page.level }}
{: .label .label-platinum }
{% endif %}

<br/>

1. TOC
{:toc}

---

## 문제 내용
{: .fw-700 }

![problem.png](../assets/screenshots/b{{ number }}.png)

#### [문제 링크](https://www.acmicpc.net/problem/{{ number }})
{: .no_toc .fs-4 }

## 해결 방안
{: .fw-700 }

<div class="code-example" markdown="1">
문제에 따르면 특정 열의 스위치를 누르면 해당 열의 램프의 전원이 반대가 되고, 우리는 K번 스위치를 눌러 켜진 행이 최대가 되는 시점을 찾아야 한다.
켜져있는 행이 있을 때 어느 스위치를 누르던 켜져있던 행이 사라지므로, 켜진 행을 하나 완성했을 때 동시에 켜진 행의 개수가 최대인 시점을 찾아야 한다.
임의의 두 행에 대하여 하나의 행이 켜질 때 다른 행도 켜지려면, 스위치를 누르기 전에 이미 켜져있던 램프의 위치와 개수가 서로 같아야 하므로 두 행은 완전히 동일해야 한다.
결론적으로, 하나의 행에 대해 완전히 동일한 행의 개수가 곧 동시에 켜지는 행이므로, 임의의 행과 동일한 행의 개수가 최대가 되는 시점이 켜질 수 있는 행의 최댓값이다.
때문에, 본 문제는 애드 혹(ad hoc) 문제로 분류되었다.

{: .note-title }
> 애드 혹(ad hoc) 문제란?
>
> 애드 혹 문제는 그 어원처럼 일반화되지 않은 단순히 현재 문제만을 위한 풀이를 요구한다.
> 이 문제의 경우에는 브루트포스나 DP처럼 각 경우를 탐색하여 찾는 대신 편법과도 같은 특정 풀이가 존재하기에 애드 혹 문제로 분류된다.
</div>
## 풀이 코드
{: .fw-700 }

```cpp
#include <iostream>

using namespace std;

// 유클리드 호제법
int gcd(int a, int b) {
if(b == 0) return a;
return gcd(b, a % b);
}

int main() {
int n, m;
cin >> n >> m;

// n < m을 만족하는 서로소인 n, m에 대해 n/m만큼 쪼개기 위해서는 반드시 최소 m-1번의 칼질을 해야한다.
// 이는 소세지 여러 개를 하나의 소세지라고 생각하면 반드시 m-1번의 칼질이 필요하다는 것을 알 수 있다.
// n개의 소세지를 자르는 중 소세지 끝이 이미 나뉘어 칼질을 하지 않기 위해서는 n과 m이 서로소의 배수여야 한다.
// 다시 말해, 이미 서로소로 하나의 소세지처럼 잘린 만큼이 n과 m의 공약수만큼 반복되고 있다는 것이다.
// 결론적으로 n과 m이 서로소가 아닌 경우, 쪼개는 비율인 n/m은 약분에 따라 서로소일 떄의 칼질 횟수와 같으며
// 서로소 대비 n과 m의 최대공약수만큼 소세지의 개수가 배가 되므로, 위의 횟수에 최대공약수 배만큼의 칼질을 더해줘야 한다.
int div = gcd(n % m, m);
m /= div;
cout << div * (m - 1) << endl;
return 0;
}
```
{: .lh-0 .fw-700 .fs-4 }
32 changes: 25 additions & 7 deletions pps/b1202.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,34 @@
---
title: 백준 1202
title: 백준 1202 | 보석 도둑
level: GOLD II
layout: default
parent: 문제 풀이
---
{% assign title = page.title | split: " | " %}
{% assign name = title[0] %}
{% assign title = title[1] %}
{% assign number = name | split: " " %}
{% assign number = number[1] %}

# **보석 도둑**
# **{{ title }}**
{: .no_toc .fs-9 }

백준 1202
{: .fs-4 .inline }
Gold II
{{ name }}
{: .fs-4 .d-inline }

{% if page.level contains 'BRONZE' %}
{{ page.level }}
{: .label .label-bronze }
{% elsif page.level contains 'SILVER' %}
{{ page.level }}
{: .label .label-silver }
{% elsif page.level contains 'GOLD' %}
{{ page.level }}
{: .label .label-gold }
{% elsif page.level contains 'PLATINUM' %}
{{ page.level }}
{: .label .label-platinum }
{% endif %}

<br/>

Expand All @@ -22,9 +40,9 @@ Gold II
## 문제 내용
{: .fw-700 }

![problem.png](../assets/screenshots/b1106.png)
![problem.png](../assets/screenshots/b{{ number }}.png)

#### [문제 링크](https://www.acmicpc.net/problem/1106)
#### [문제 링크](https://www.acmicpc.net/problem/{{ number }})
{: .no_toc .fs-4 }

## 해결 방안
Expand Down

0 comments on commit b1a6ef9

Please sign in to comment.