백준 14916번 거스름돈 - C++
Algorithm/PS2024. 11. 10. 12:13백준 14916번 거스름돈 - C++

문제춘향이는 편의점 카운터에서 일한다.손님이 2원짜리와 5원짜리로만 거스름돈을 달라고 한다. 2원짜리 동전과 5원짜리 동전은 무한정 많이 가지고 있다. 동전의 개수가 최소가 되도록 거슬러 주어야 한다. 거스름돈이 n인 경우, 최소 동전의 개수가 몇 개인지 알려주는 프로그램을 작성하시오.예를 들어, 거스름돈이 15원이면 5원짜리 3개를, 거스름돈이 14원이면 5원짜리 2개와 2원짜리 2개로 총 4개를, 거스름돈이 13원이면 5원짜리 1개와 2원짜리 4개로 총 5개를 주어야 동전의 개수가 최소가 된다. 입력첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. 출력거스름돈 동전의 최소 개수를 출력한다. 만약 거슬러 줄 수 없으면 -1을 출력한다. 문제 링크https://www.acmicpc...

[TIL] 99클럽 코테 스터디 13일차 TIL : 그리디
TIL2024. 11. 9. 12:36[TIL] 99클럽 코테 스터디 13일차 TIL : 그리디

🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 27961번 고양이는 많을수록 좋다 - C++문제마법소녀인 마도카는 너무나도 고양이를 좋아하는 나머지 마법을 이용하여 고양이 N$N$마리를 집에서 키우기로 결심했다!마도카는 한 번의 행동에서 다음 $2$가지 마법 중 하나를 선택하여noguen.tistory.com  📖 오늘의 학습오랜만에 그리디 알고리즘 문제를 풀었다.그리디 자체는 정말 간단하다.이름 그대로 최대한 탐욕스럽게 연산을 수행하면 된다. 이번 문제 역시도 생성 마법은 함정이었고, 그리디하게 복제 마법만 사용하면 되는 문제였다. 🤔 오늘의 회고이번에도 변수 범위에 당했고, 엣지 케이스를 처리하지 못한 부분에서 한 번 더 당했다.브론즈1 문제라고 너무 문제를 대충 읽고 제출했더니 무수한 틀..

백준 27961번 고양이는 많을수록 좋다 - C++
Algorithm/PS2024. 11. 9. 12:29백준 27961번 고양이는 많을수록 좋다 - C++

문제마법소녀인 마도카는 너무나도 고양이를 좋아하는 나머지 마법을 이용하여 고양이 N$N$마리를 집에서 키우기로 결심했다!마도카는 한 번의 행동에서 다음 $2$가지 마법 중 하나를 선택하여 사용한다. 처음에는 마도카의 집에 고양이가 존재하지 않는다.생성 마법: 고양이 $1$마리를 마도카의 집에 생성한다.복제 마법: 마도카의 집에 있는 고양이 일부 또는 전부를 대상으로 하여 복제한다. 즉, 만약 현재 마도카의 집에 고양이가 k$k$마리 존재한다면, $0$마리 이상 $k$마리 이하의 고양이를 마도카의 집에 추가할 수 있다.마도카는 위의 $2$가지 마법을 적절히 사용하여, 최소의 행동 횟수로 마도카의 집에 정확히 N$N$마리의 고양이가 있도록 만들고 싶다. 계산을 어려워하는 마도카를 위해 최소의 행동 횟수를 계..

[TIL] 99클럽 코테 스터디 12일차 TIL : 3차원의 BFS
TIL2024. 11. 8. 11:50[TIL] 99클럽 코테 스터디 12일차 TIL : 3차원의 BFS

🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 7569번 토마토 - C++문제철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관noguen.tistory.com  📖 오늘의 학습3차원, 그리고 시작점이 여러 개인 BFS 문제를 해결했다.사실 이 문제는 예전에 SWIFT로 풀었던 적이 있었는데, 솔직히 이 문제도 골드 치고는 많이 쉬운 편이라고 생각한다. 하지만 그동안 배운 BFS는 시작점이 하나인데 여기서 시작점이 여러개이고, BFS의 순회가 몇 번 일어났는지 체크를 해야하는 부분에서 당혹스러움을 느낄 수 있다고 생각이 들어 다시 생각해보니 골드 문제가 맞는거 같다. ..

백준 7569번 토마토 - C++
Algorithm/PS2024. 11. 8. 11:45백준 7569번 토마토 - C++

문제철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자모양 상자의 칸에 하나씩 넣은 다음, 상자들을 수직으로 쌓아 올려서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토에 인접한 곳은 위, 아래, 왼쪽, 오른쪽, 앞, 뒤 여섯 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지 그 최소 일수를 알고 싶어 한다..

[TIL] 99클럽 코테 스터디 11일차 TIL : DFS2
TIL2024. 11. 7. 22:00[TIL] 99클럽 코테 스터디 11일차 TIL : DFS2

🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 25195번 Yes or yes - C++문제  N$N$개의 정점과 M$M$개의 간선으로 이루어진, 사이클이 없는 방향그래프(DAG)가 주어진다.투어리스트 곰곰이는 종종 이 그래프 위에서 여행을 떠난다. 투어리스트 곰곰이의 여행은 1번 정noguen.tistory.com  📖 오늘의 학습오늘은 조금 취약한 DFS를 학습했다.그런데 이번 문제는 골드4 문제치고 너무나도 쉬웠다.실버1 혹은 실버2 정도 난이도로 들어가도 됐을거라는 생각이 든다. 내가 잘 풀어서가 아니라 DFS 코드에 분기처리 하나만 해주면 되는 문제가 때문이다.그리고 이 부분이 사고의 전환이 필요한 부분도 아니고 필요 없는 부분을 도려내는 과정에서 충분히 사고 할 수 있는 것이기 때문이..

백준 25195번 Yes or yes - C++
Algorithm/PS2024. 11. 7. 21:51백준 25195번 Yes or yes - C++

문제  N$N$개의 정점과 M$M$개의 간선으로 이루어진, 사이클이 없는 방향그래프(DAG)가 주어진다.투어리스트 곰곰이는 종종 이 그래프 위에서 여행을 떠난다. 투어리스트 곰곰이의 여행은 1번 정점에서 출발해 간선을 따라서 이동한다. 그러다가 더 이상 간선을 따라서 이동할 수 없는 경우 투어리스트의 여행은 종료된다.투어리스트 곰곰이의 열성 팬인 팬클럽 곰곰이는 투어리스트를 만나기 위해 그래프 위의 정점 일부에서 잠복하곤 한다. 팬클럽 곰곰이가 잠복한 정점 위에 투어리스트 곰곰이가 서 있게 되면 투어리스트 곰곰이와 팬클럽 곰곰이가 만나게 된다.오늘도 투어리스트 곰곰이는 음악을 들으면서 여행을 떠나려고 한다. 그러다가 Twice의 노래인 "YES or YES" 에서 다음과 같은 가사를 듣게 된다.조금 쉽게..

백준 9020번 골드바흐의 추측 - SWIFT
Algorithm/PS2024. 11. 7. 11:23백준 9020번 골드바흐의 추측 - SWIFT

문제1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션은 존재한다. 2보다 큰 짝수 ..

[TIL] 99클럽 코테 스터디 10일차 TIL : BFS4
TIL2024. 11. 6. 22:39[TIL] 99클럽 코테 스터디 10일차 TIL : BFS4

🚀 오늘의 문제풀이 글은 여기에 있습니다. ▼ 백준 18352번 특정 거리의 도시 찾기 - C++문제어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다.이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정noguen.com 📖 오늘의 학습이번에도 BFS문제를 풀었다.사실 BFS는 골드 5이상 난이도로 꽤 많이 풀었어서 이정도는 너무나도 쉽게 느껴진다. 타자치는 속도만 더 빨랐다면 아마 10분내로도 해결했을거 같다. 🤔 오늘의 회고쉬운 문제만 풀자니 성장하는 느낌이 없고, 어려운 문제를 풀자니 시간이 부족하고...참으로 아쉽다.

백준 18352번 특정 거리의 도시 찾기 - C++
Algorithm/PS2024. 11. 6. 22:35백준 18352번 특정 거리의 도시 찾기 - C++

문제어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다.이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다.예를 들어 N=4, K=2, X=1일 때 다음과 같이 그래프가 구성되어 있다고 가정하자.이 때 1번 도시에서 출발하여 도달할 수 있는 도시 중에서, 최단 거리가 2인 도시는 4번 도시 뿐이다.  2번과 3번 도시의 경우, 최단 거리가 1이기 때문에 출력하지 않는다. 입력첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ ..

image