minyoung529의 등록된 링크

 minyoung529로 등록된 티스토리 포스트 수는 79건입니다.

[백준][C++] 15591 MooTube (Silver) [내부링크]

15591. MooTube (Silver) 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 유사도란 말에 겁먹었지만... 사실은 ..

[백준][C++] 13975 파일 합치기 3 [내부링크]

13975. 파일 합치기 3 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 접근법이 어렵지 않았던 문제이지만... 내가 행동력이 좋은 바보라는 것을 알게 된 문제이다. 처음 접..

[Unity][C#] 유니티 - 스프레드 시트 연동하기 [내부링크]

동물의 능력에 관한 시트이다. 이런 시트에서 한 행을 클래스 인스턴스화 하는 것과 전체를 리스트화하는 것을 알아볼 것이다. 1. 스프레드 시트 -> 텍스트 데이터 스프레드 시트를 텍스터 데이터화하려면 특수한 링크가 필요하다. 기존 스프레드 시트의 링크는 이렇다. 여기서 tsv 데이터(탭으로 나눠져 있는 텍스트 데이터)로 바꾸기 위해서는... {Address}/export?format=tsv&range={Range}&gid={SheetID} 이런 꼴로 고쳐주어야 하는데, 1. Address 위에 나와있는 링크의 /edit 전 까지의 부분이다. 2. Range 이 노란 부분 {A2:D7}이 Range이다. 우리는 더 많은 데이터가 추가될 수 있으므로 {A2:D} 영역을 선택할 것이다. 3. Sheet ID ..

[백준][C++] 2812 크게 만들기 [내부링크]

2812. 크게 만들기 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 간단해보이지만, 접근하는 과정이 엄청 어려웠다. 정말 스택은 상상도 못했고... 처음 접근한 방법은... 단지 예제를 보고 출력으로 나올 수 있는 알고리즘을 머리로 계산해보았다. inpu..

[백준][C++] 1092 배 [내부링크]

1092. 배 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 분명히 될 것 같은데... 안 되고 분명히 알 것 같은데... 잘 모르겠는 문제였다. 아리송했던 문제..

[백준][C++] 2212 센서 [내부링크]

2212. 센서 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 보자마자... 어! 행복유치원! 이 생각났던 문제... 알고리즘 또한 행복유치원과 완전 동..

[백준][C++] 13164 행복유치원 [내부링크]

13164. 행복유치원 13164번: 행복 유치원 입력의 첫 줄에는 유치원에 있는 원생의 수를 나타내는 자연수 N(1 ≤ N ≤ 300,000)과 나누려고 하는 조의 개수를 나타내는 자연수 K(1 ≤ K ≤ N)가 공백으로 구분되어 주어진다. 다음 줄에는 원생들 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 어이가 없이 어려웠던 문제... 문제 자체도 어려웠지만 유치원생의 최대 키가 10^9라..

[백준][C++] 21758 꿀 따기 [내부링크]

21758. 꿀 따기 21758번: 꿀 따기 첫 번째 줄에 가능한 최대의 꿀의 양을 출력한다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 장장 2시간을 넘게 푼 문제... 처음 본 그리디 골드 문제에 기강을 세게 잡혔다... 풀어보니 생각보다는 어렵지 않았다는 게 화가 난다... 으엉엉 처음 접근은 양 끝 수를 비교해서 더 작은 쪽에 벌을 몰아놓고, 반대쪽에 꿀통을 넣을 생각이었다. 하지만..

[백준][C++] 21314 민겸 수 [내부링크]

21314. 민겸 수 21314번: 민겸 수 민겸 수 하나가 주어진다. 민겸 수는 대문자 M과 K로만 이루어진 문자열이며, 길이는 3,000을 넘지 않는다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 민겸 수를 10진수로 바꿨을 때 가장 큰 값과 가장 작은 값을 출력하는 것. 민겸아, 참으로도 요상한 짓을 했구나. 처음엔 어려워 보였지만, 생각보다 간단한 문제였다. 예제를 보면 알 수 있다..

[백준][C++] 1931 A → B [내부링크]

1931. A → B 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 나의 어마어마한 무지와 부족함을 알려주었던 문제... 예제를 봐도, 그리디로는 풀 생각이 나지 않았다. 1을 추가하는 경우나, 2를 곱하는 경우의 조건이 전혀 떠오르지가 않았다. 문제의 제한 시간은 2초. 조건이 생각나지 않으므로 모든 경..

[백준][C++] 1931 블로그2 [내부링크]

1931. 블로그2 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 간단하고 귀여운 문제였다. 형광팬 색깔을 바꾸는 작업을 최대한 덜 해야하므로, 처음에 모든 글을 하나의 색으로 ..

[백준][C++] 1541 잃어버린 괄호 [내부링크]

1541. 잃어버린 괄호 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 처음에는 괄호 문제라 조금 무서웠지만... 조금만 생각하면 쉽게 풀 수 있는 문제였다. inpupt ..

[백준][C++] 1931 회의실 배정 [내부링크]

1931. 회의실 배정 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 사실은... 생각하지 않고 풀어낸 문제이다... 왜냐하면 예제에서 끝나는 시간이 오름차순으로 정렬된 것을 보고... 끝나는 시간을 오름차순으로 정렬한 다음에... 방금 시간한 회의의 끝나는 시간보다 크거나 같은 다른 회의 시작..

[백준][C++] 11047 동전 0 [내부링크]

11047. 동전 0 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 처음 이 문제를 봤을 땐... 이 예제를 보고 ..

[백준][C++] 20300 서강근육맨 [내부링크]

20300. 서강근육맨 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 큰 자료형을 써야하는 것 이외에는 쉽게 풀 수 있었던 문제이다. 두개의 운동기구에 일어나는 근손실의 합이 최대한 적어야하므로 오름..

[백준][C++] 20115 에너지 드링크 [내부링크]

20115. 에너지 드링크 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 시간 초과로 고생했던 문제... 반복문에 sort 함수를 쓴 내가 잘못이었다 ㅠ_ㅠ 임의의 두 에너지 드링..

[백준][C++] 11399. ATM [내부링크]

11508. ATM 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 또 정렬과 그리드가 같이 있는 문제! 각 사람이 앞 사람들의 인출 시간을 기다리는 시간을 더하는 값의 총합을 구하는 것이다. 그렇기 때문에 앞 ..

[백준][C++] 11508 2+1 세일 [내부링크]

11508. 2+1 세일 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 앞 문제와 같이, 정렬과 가까운 문제였다. 알고리즘 설계 1. 가격들이 모두 있는 배열을 내림차순..

[백준][C++] 1758 알바생 강호 [내부링크]

1758. 알바생 강호 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 문제는 정렬로 쉽게 풀 수 있었다. 등수가 올라갈수록 팁이 깎이는 가격이 늘어나므로 가장 ..

[백준][C++] 13305 주유소 [내부링크]

13305. 주유소 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 또 작은 실수 때문에 한참을 고민한 그리디 문제... 알고리즘을 생각하기까지는 오랜 시간이 걸리지 ..

[백준][C++] 2217 로프 [내부링크]

2217. 로프 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 그리디에 대한 이해를 도와준 문제! 지금까지는 그리디 문제가 어색하고 감이 잘 잡히지 않았는데, 점점 그리..

[백준][C++] 1343 폴리오미노 [내부링크]

1343. 폴리오미노 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 간단한 그리디 문제였다. 그래도 한번에 코드를 짜지는 못했는데, 내가 했던 실수는... if (count == 2) { result += "BB"; count = 0; } else if (count == 4) { r..

[백준][C++] 22942. 데이터 체커 [내부링크]

22942. 데이터 체커 22942번: 데이터 체커 데이터가 조건에 맞는다면 YES, 조건에 만족하지 않는다면 NO를 출력한다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 엄청엄청엄청 고생했던 문제. 지금까지 풀어본 문제 중에 제일 어려웠던 것 같지만, 스스로 풀어내서 되게 뿌듯했다. 처음 접근은 원들을 (x + 반지름)값 오름차순으로 정렬하고 벡터에 넣어 비교하는 코드였다. sort(ve..

[백준][C++] 2800 괄호 제거 [내부링크]

2800. 괄호 제거 2800번: 괄호 제거 첫째 줄에 음이 아닌 정수로 이루어진 수식이 주어진다. 이 수식은 괄호가 올바르게 쳐져있다. 숫자, '+', '*', '-', '/', '(', ')'로만 이루어져 있다. 수식의 길이는 최대 200이고, 괄호 쌍은 적어도 1개 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 좀 어려웠지만, 충분히 할만했고 재미있었던 문제이다. 처음엔 괄호에 쌍을 맞춰..

[백준][C++] 21942 부품 대여장 [내부링크]

21942. 부품 대여장 21942번: 부품 대여장 첫 번째 줄에 부품 대여장에 작성된 정보의 개수 $N$, 대여기간 $L$, 벌금 $F$이 공백으로 구분되어 주어진다. 대여기간 형식은 DDD/hh:mm으로 DDD는 일, hh는 시간, mm은 분을 의미한다. (000/00:00 는 주어 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 흘러가는 로직은 나쁘지 않았지만, 안에서 예상치 못한 실수가 ..

[백준][C++] 7662 이중 우선순위 큐 [내부링크]

7662. 이중 우선순위 큐 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 여러가지 방법으로 고민하는 게 재미있었던 문제 처음 접근은 우선순위 큐 하나를 만들고 Pop에 따라..

[백준][C++] 11279 최대 힙 [내부링크]

11279. 최대 힙 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 문제 풀이1 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 문제 풀이2(우선순위 큐 구현) GitHub - minyoung529/AlgorithmSt..

[백준][C++] 11016 제곱 ㄴㄴ 수 [내부링크]

11016. 제곱 ㄴㄴ 수 1016번: 제곱 ㄴㄴ 수 어떤 정수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 그 수를 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min보다 크거나 같고, max보다 작거나 같은 제곱ㄴㄴ수 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 문제는 간단해서 쉬워보이지만, 신경쓸 게 많은 문제였다. 특히 입력값이... 1 ≤ mi..

[백준][C++] 22943 수 [내부링크]

22943. 수 22943번: 수 0부터 9까지 $K$가지의 숫자를 한 번씩만 사용하여 만들 수 있는 수 중 아래 조건을 모두 만족하는 수들의 개수를 구해보자. 단, 수의 맨 앞에는 0이 올 수 없다. 즉, 0143는 불가능하다. 서로 다른 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 문제 이름은 한 글자인데..... 난이도가 별 하나가 아니었다!!!! 어렵게 느꼈던 문제... 다 풀어보니 ..

[백준][C++] 1747 소수&팰린드롬 [내부링크]

1747. 소수&팰린드롬 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 소수 구하기는 에라토스테네스의 체로, 팰린드롬은 int형 변수를 st..

[백준][C++] 21275 폰 호석만 [내부링크]

21275. 폰 호석만 21275번: 폰 호석만 만약 문제의 조건에 맞는 X, A, B가 유일하게 존재한다면, X를 십진법으로 표현한 수와 A와 B를 공백으로 나누어 출력하라. 만약 만족하는 경우가 2가지 이상이라면 "Multiple"을, 없다면 "Impossible"을 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 폰 호석만보다 더 뛰어난 진법 변환 장인이 된 느낌이었다. 알고리즘 설계 1...

[백준][C++] 2960 에라토스테네스의 체 [내부링크]

2960. 에라토스테네스의 체 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 기대하고 고대하던 에라토스테네스의 체를 이용해서 푸는 문제!! 1학년 때 엄청 어려워하면서 풀었던 기억이 있었는데, 알고리즘이 자세히 설명되어있어서 간단하게 풀 수 있는 문제였다. 아무리 간..

[백준][C++] 9613 GCD 합 [내부링크]

9613. GCD 합 9613번: GCD 합 첫째 줄에 테스트 케이스의 개수 t (1 ≤ t ≤ 100)이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있다. 각 테스트 케이스는 수의 개수 n (1 < n ≤ 100)가 주어지고, 다음에는 n개의 수가 주어진 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 가능한 모든 쌍의 GCD의 합을 구하는 문제. 킹클리드 호제법과 재귀함수를 써서 풀수 ..

[백준][C++] 11653 소인수분해 [내부링크]

11653. 소인수분해 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 지금 생각하면 엄청 간단하지만 생각하기 조금 어려웠던 문제... 내 얕고도 좁은 수학 머리가 흔들거렸다... 처음에는 소수로만 나누어야 하니까 2, 3, 5, 7... 등 소수만 배열로 미리 만들어 for문을 돌릴 생각을 했지만....

[백준][C++] 1934 최소공배수 [내부링크]

1934. 최소공배수 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 다른 GDC 문제를 응용... (복붙)해서 풀어야지! 라고 생각했던 문제지만, 보기 좋게 ..

[백준][C++] 1110 진법 변환 [내부링크]

1110. 진법 변환 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 간단한 수학 문제! 계속해서 이어지는 사이클을 Queue를 통해서 해결했다. do { int v..

[백준][C++] 2745 진법 변환 [내부링크]

2745. 진법 변환 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 오만번쯤은 해봤을 진법 변환... 이지만 지금까지 나는 2, 8, 16진수만 변환해봤지만, 이 문제는 2~36진..

[백준][C++] 20210 파일 탐색기 [내부링크]

20210. 파일 탐색기 20210번: 파일 탐색기 첫 줄에 문자열의 개수 N(2 ≤ N ≤ 10,000)이 주어진다. 그 다음 N줄에 정렬할 문자열이 한 줄에 하나씩 주어진다. 모든 문자열의 길이는 100 이하이며, 알파벳 대소문자와 숫자로만 이루어져 있다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 단계단계 차례차례 조건을 해결해가는 게 엄청 재미있었던 문제! 구현할 코드가 많았지만, ..

[백준][C++] 20437 문자열 게임 2 [내부링크]

20437. 문자열 게임 2 20437번: 문자열 게임 2 첫 번째 문자열에서 3번에서 구한 문자열은 aqua, 4번에서 구한 문자열은 raquator이다. 두 번째 문자열에서는 어떤 문자가 5개 포함된 문자열을 찾을 수 없으므로 -1을 출력한다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 보자마자 엄청 어려울 것 같은 문제였지만... 3번과 4번 조건을 하나하나씩 정복하면 꽤 쉬운 문제였..

[백준][C++] 17609 회문 [내부링크]

17609. 회문 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 회문은 껌이라고 생각한 나에게... 유사 회문이란 시련을 준 문제. 첫 접근을 애매하게 잘해서 문제가 되었다. 처음 알고리즘 설계는... 두 포인..

[백준][C++] 9342 염색체 [내부링크]

9342. 염색체 9342번: 염색체 상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 난 제법 꼼꼼하다 생각하고 있었는데... 그 생각을 온몸으로 부정하게 만들었던 문제... 일단 출력 대소문자를..

[백준][C++] 16171. 나는 친구가 적다 (Small) [내부링크]

16171. 나는 친구가 적다 (Small) 16171번: 나는 친구가 적다 (Small) 첫 번째 줄에는 알파벳 소문자, 대문자, 숫자로 이루어진 문자열 S가 주어진다. (1 ≤ |S| ≤ 100) 두 번째 줄에는 성민이가 찾고자 하는 알파벳 소문자, 대문자로만 이루어진 키워드 문자열 K가 주 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 나는 친구가 많지만 풀어본 문제이다. 처음 접근부터 ..

[백준][C++] 4659. 비밀번호 발음하기 [내부링크]

4659. 비밀번호 발음하기 4659번: 비밀번호 발음하기 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 프로그래머스 카카오 비밀번호 추천 문제랑 비슷한 문제였다. 난이도는 훨씬 쉽지만 조건을 모두 맞추..

[백준][C++] 9046 복호화 [내부링크]

9046. 복호화 9046번: 복호화 입력의 T(1 ≤ T ≤ 20)는 테스트 케이스로, 입력 제일 상단에 주어진다. 각각의 테스트 케이스는 한 줄마다 소문자와 공백으로 이루어진 영어 문장이 주어진다. 이 문장의 길이는 적어도 1이상이 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 수월하게 풀 수 있었던 문제이지만... 입력 쪽에서 조금 헤맸다. 공백까지 포함해 입력 받아야 해서 getline..

[백준][C++] 3029 경고 [내부링크]

3029. 경고 3029번: 경고 첫째 줄에 현재 시간이 hh:mm:ss 형식으로 주어진다. (시, 분, 초) hh는 0보다 크거나 같고, 23보다 작거나 같으며, 분과 초는 0보다 크거나 같고, 59보다 작거나 같다. 둘째 줄에는 나트륨을 던질 시간 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 던질 시간과 현재 시간의 차를 구하는 문제. 어렵지 않게 풀 수 있었다만, 적어도 1초, 많아야 ..

[백준][C++] 16395 파스칼의 삼각형 [내부링크]

16395. 파스칼의 삼각형 16395번: 파스칼의 삼각형 파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 파스칼의 삼각형 문제! 파스칼의 삼각형 개념을 로직으로 옮기면 되는 간단한 문제였다. 알고리..

[백준][C++] 1912 연속합 [내부링크]

1912 연속합 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 연속된 수를 선택해 구할 수 있는 최댓값을 구하는 문제! 처음엔 좀 고민했지만, 곧 풀이를 생각할 수 있었다. 알고리즘 1부터..

[백준][C++] 11053 가장 긴 증가하는 부분 수열 [내부링크]

11053 가장 긴 증가하는 부분 수열 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 가장 긴 증가하..

[백준][C++] 2407 조합 [내부링크]

2407 조합 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 조합을 쓰는 문제! 다리 놓기랑 비슷한 문제라고 생각했지만... (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) 많이 커진 입력값이 문제였다. nCm = nC(n-m) 이 공식도 고려해봤을 때... 가장 큰 출력을 일으키는..

[백준][C++] 11727 2×n 타일링 2 [내부링크]

11727 2×n 타일링 2 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com https://minyoung529.tistory.com/29 시리즈 문제를 최근에 풀어서 쉽게 풀 수 있었던 문제!! 다시 꺼내보는 ..

[백준][C++] 2579 계단 올라가기 [내부링크]

2579 계단 올라가기 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 풀이 정말 무지무지 어렵게 느껴졌던 문제... 결국 혼자서 풀지 못하고 다른 사람의 코드를 보고 이해했다. 첫번째 계단을 꼭 밟아야 한다고 생각한 것 계단 세 칸 이상을 가면 안 된다는 조건을 고려하지 않은 것 처음엔 정렬을 썼다. 큰 수들의 계단을 먼저 고르고 세 번 연속 고르지 못하도록 bool형 배열을 써서 체크해주었다. #include using namespace std; vector stairs; int scores[300]; bool ..

[백준][C++] 11726 2xn 타일링 [내부링크]

11726 2xn 타일링 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 앞의 n이 1, 2, 3, 4, 5일 때의 테스트케이스를 구하고 점화식을 세운 문제! 신기하게도 피보나치 수열이 나왔다!!! 그림..

[백준][C++] 9095 1, 2, 3 더하기 [내부링크]

9095. 1, 2, 3 더하기 문제 풀이 DP가 바로 이거구나! 알게 된 문제. 조금 고민해보다가... 생각해보니까 1을 만들 수 있는 연산, 2를 만들 수 있는 연산, 3을 만들 수 있는 연산을 가지고 계속 계속 다른 연산을 만들어가다보면 정답이 나오게 되는 것이었다! 만약에 4를 만든다고 하면... input => 4 1 => 1 arr[1] = 1 2 => 1+1 2 arr[2] = 2 3 => 1+1+1 1+2 2+1 3 arr[3] = 4 4 => 4 = arr[1] + 3 4 = arr[2] + 2 4 = arr[3] + 1 이므로... arr[4] = 1 + 2 + 4! answer => 7 코드로 구현해봤다. #include using namespace std; int main() { i..

[백준][C++] 1463 1로 만들기 [내부링크]

1463. 1로 만들기 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 너무나도 그리디 문제 같이 생겼는데... 그리디로 계속 풀다가 결국 포기하고 DP로 푼 문제. 문제만 보면 그리디로 풀 생각을 하는 걸 고쳐야겠다고 생각했다. 처음 접근들은 앞서 말했다싶이 그리디로 했다. 그리고 생각나는 방..

[백준][C++] 17626 Four Squares [내부링크]

17626. Four Squares 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 참신하고 재미있었던 문제! 자연수를 넷 이하의 제곱수의 합으로..

[백준][C++] 9655 돌 게임 [내부링크]

9655. 돌 게임 문제 풀이 귀엽고 깜찍한 베스킨라빈스 써리 원 비슷한 문제였다. 사실 이게 어떻게 DP 문제가 되는지 모르겠다... 난 그리디로 푼 것 같은데... 내가 생각한 알고리즘은, 현재 마지막 돌이거나 내가 해당 돌을 N개 집으면 상대에게 우승을 줄 상황이거나 돌이 3개 미만이라 3개를 잡을 수 없을 때 1개의 돌을 집고, 그 외에는 3개의 돌을 집었다. 코드는 이러하다. #include using namespace std; int main() { int rock; bool isSk = false; cin >> rock; while (rock > 0) { // 마지막 돌이거나 // 내가 3개를 가져갔을 때, 상대에게 기회가 오거나 // 돌이 3개 이하일 때 if (rock - 1 == 0 |..

[백준][C++] 1010 다리 놓기 [내부링크]

1010. 다리 놓기 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 내 한참 모자른 수학 실력을 알 수 있었던 문제... 분명 문제를 보자마자 어? 경우의 수! 어? 팩토리얼! ..

[백준][C++] 2748 피보나치 수 2 [내부링크]

2748. 피보나치 수 2 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 1번과 같은 문제이지만... 한계값이 20아니라 90까지 늘어난 상황..

[백준][C++] 2839 설탕 배달 [내부링크]

2839. 설탕 배달 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 그리디에서 풀었던 거스름돈 문제랑 거의 똑같은 문제. [백준][C++] 14916 거스름돈 1. 거스름돈 14916번: ..

[백준][C++] 10870 피보나치 수 5 [내부링크]

10870. 피보나치 수 5 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com DP 첫 문제! 피보나치 수열이 나왔다. 간단한 문제이지만, 입력..

[백준][C++] 18405 경쟁적 전염 [내부링크]

18405. 경쟁적 전염 문제 풀이 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 나 BFS로 풀어주세요!! 라고 외치고 있는 문제... 친히 BFS로 풀어주었다. 알고리즘 설계 (0,0)부터 (n,n)까지 차례대로 바이러스인지 검사를 한다. 좌표(x, y), 바이러스 번호, 감염된 날을 queue에 넣어준다. 새로 감염된 아이를 queue에 넣어줄 때 중앙에 있는 기존 바이러스(queue.top())의 감염된 날 + 1을 넣어주었다. queue의 top의 날이 S day가 넘어..

[백준][C++] 1697 숨바꼭질 [내부링크]

1697. 숨바꼭질 문제 풀이 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net BFS를 사용해서 푼 문제! 보자마자 BFS라고 생각했지만... 작은 실수들 때문에 메모리가 초과되거나 틀렸던 문제이다. DFS로 탐색하지 않은 이유는 +1을 DFS로 하고 0에서 100000까지 간다고 하면 처음부터 100000개의 수를 거쳐야 하기 때문이다. 한 문장으로 비효율적이라는 이야기! 알고리즘 설계 queue에 { start, 0 }을 넣어준다. queue가 빌 때까지 반복문을 돌려준다. (f..

[백준][C++] 13549 숨바꼭질 3 [내부링크]

13549. 숨바꼭질 3 문제 풀이 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 기존 숨바꼭질에서 조건 하나만 바뀐 문제. 2 * X로 순간 이동할 때 1초가 아닌 0초 걸리는 것으로 바꿨다. 기존 코드에서 2*x하는 부분과 min값을 구하는 부분만 수정하면 되어서 어렵지 않았다. 알고리즘 설계 https://minyoung529.tistory.com/19 코드 #include #include using namespace std; #define MAX 100000 bool ..

[백준][C++] 7569 토마토 [내부링크]

7569. 토마토 문제 풀이 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 지난번에 푼 토마토 판이 3D가 된 문제. 메인 로직은 별로 차이가 없었고, y와 x뿐만이 아니라 z값까지 queue에 보관해주었다. 인접해있는 사방뿐만이 아니라 위 아래까지 비교했다. 비교 배열 int dx[4] = { 0,1,0,-1 }; int dy[4] = { 1,0,-1,0 }; >> int dx[6] = { 0,1,0,-1,0,0 }; int dy[6] = { 1, 0,-1,0,0,0 }; int d..

[백준][C++] 1260 토마토 [내부링크]

1260. 토마토 문제 풀이 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 토마토 전염병이 모두 퍼지는 최소 일수를 구하는 문제. 자료구조 시간에 배웠던 BFS로 풀 수 있었다. 알고리즘 설계 입력받을 때 이미 익은 토마토의 좌표(y, x)를 queue에 넣어준다. 이 때 익지 않은 토마토의 전체 개수를 센다. queue가 empty가 될 때까지 현재 queue의 top에 인접한 좌표(사방)에 토마토들을 모두 익은 상태로 만들어준다.그리고 익힌 토마토의 개수를 센다. 이..

[백준][C++] 14940 쉬운 최단 거리 [내부링크]

14940. 쉬운 최단 거리 문제 풀이 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 모든 지점까지의 최단경로를 구하는 문제. 전에 풀었던 토마토 문제와 미로 찾기 문제처럼 BFS를 사용해서 푸는 문제이다. 알고리즘 시작 위치를 queue에 넣는다. queue가 빌 때까지 while문을 돌린다. queue의 top에 사방에 인접해있는 것들이 방문되지 않은 곳이고, 갈 수 있는 길이라면 queue에 넣는다. 사방을 탐색했다면, queue를 pop한 다음에 다음 좌표를..

[백준][C++] 2667 단지번호붙이기 [내부링크]

2667. 단지번호붙이기 문제 풀이 > len; for (int i = 0; i < len; i++) { string str; cin >> str; for (int j = 0; j < len; j++) { field[i][j] = (str[j] == '1'); } } // DFS for (int y = 0; y < len; y++) { for (int x = 0; x < len; x++) { if (!visited[y][x] && field[y][x]) { // 방문 횟수를 우선순위 큐에 넣음 pQueue.push(DFS(y, x)); } } } // 사이즈 출력 cout

[백준][C++] 1325 효율적인 해킹 [내부링크]

1325. 효율적인 해킹 문제 풀이 > cnt >> len; for (int i = 0; i < len; i++) { int a, b; cin >> a >> b; m[b].push_back(a); } for (int i = 1; i

[백준][C++] 1260 DFS와 BFS [내부링크]

1260. DFS와 BFS 문제 풀이 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 기본적인 DFS, BFS 문제였다. DFS는 재귀함수를 사용해서, BFS는 queue를 사용해서 구현했다. 알고리즘 DFS 재귀함수로 start를 매개변수로 넣어 호출한다. 인자로 들어온 start를 방문했음을 bool 배열에서 체크해준다. 1부터 정점의 수까지 방문하지 않았고, 인접한 정점을 재귀함수로 호출해준다. void DFS(int start) { visited[start] = t..

[백준][C++] 2606 바이러스 [내부링크]

2606. 바이러스 문제 풀이 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 재귀를 사용한 DFS로 푼 문제. 연결되어있는 컴퓨터들은 전부 바이러스에 걸리기 때문에 인접행렬을 사용해 DFS로 인접한 노드들을 타고 타고 들어가서 체크를 해주었다. 1부터 시작해서 각 정점을 방문할 때마다 count 변수를 1씩 증가시켜주었다. 코드 #include using namespace std; bool arr[101][101]; bool visited[101]; int cnt, len, answer; void DFS(int ..

[백준][C++] 14621 나만 안되는 연애 [내부링크]

14621. 나만 안되는 연애 문제 풀이 14621번: 나만 안되는 연애 입력의 첫째 줄에 학교의 수 N와 학교를 연결하는 도로의 개수 M이 주어진다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) 둘째 줄에 각 학교가 남초 대학교라면 M, 여초 대학교라면 W이 주어진다. 다음 M개의 www.acmicpc.net 최소 스패닝 문제에서 서로 다른 타입의 노드만 연결할 수 있다는 조건 하나를 추가한 문제! 어렵지 않게 풀 수 있었다. 알고리즘 설계 W인지 아닌지 판별하는 bool형 배열을 만들고 입력받는다. 간선을 입력받을 때, 서로 다른 노드라면 간선 배열에 저장해준다. 간선들을 가중치 기준으로 오름차순으로 정렬한다. 사이클이 생기지 않게 크루스칼 알고리즘으로 최소 스패닝 트리의 비용을 구한다..

[백준][C++] 1774 우주신과의 교감 [내부링크]

1774. 우주신과의 교감 문제 풀이 1774번: 우주신과의 교감 (1,1) (3,1) (2,3) (4,3) 이렇게 우주신들과 황선자씨의 좌표가 주어졌고 1번하고 4번이 연결되어 있다. 그렇다면 1번하고 2번을 잇는 통로를 만들고 3번하고 4번을 잇는 통로를 만들면 신들과 선자씨끼 www.acmicpc.net 지금까지와는 다르게, 가중치가 주어지지 않고 점과 점 사이의 거리가 가중치인 문제였다. 크루스칼을 구현하는 능력이 부족한 것 같아, 크루스칼 알고리즘을 이용해서 구현해봤다. 알고리즘 설계 노드의 번호, x, y 좌표를 저장해준다. 저장한 노드들 사이에 모든 간선을 구한다. 간선 = { A노드, B노드, A와 B 사이의 거리 (가중치) } 구한 간선들을 가중치를 기준으로 오름차순 정렬해준다. 사이클이..

[백준][C++] 21924 도시 건설 [내부링크]

21924. 도시 건설 문제 풀이 21924번: 도시 건설 첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두 www.acmicpc.net 전체 간선의 비용 - MST의 비용을 구하는 문제! 쉬워 보이는 문제였다만, 다만... 모든 노드가 연결되어있지 않으면 -1을 출력해야 하는 조건 때문에 조금 고민을 했다. 알고리즘 간선의 수가 꽤 많았기 때문에, 프림 알고리즘을 사용하였다. 모든 노드가 연결되지 않을 때를 처리해주기 위해, 그때 발생하는 일..

[백준][C++] 16398 행성 연결 [내부링크]

16398. 행성 연결 문제 풀이 16398번: 행성 연결 홍익 제국의 중심은 행성 T이다. 제국의 황제 윤석이는 행성 T에서 제국을 효과적으로 통치하기 위해서, N개의 행성 간에 플로우를 설치하려고 한다. 두 행성 간에 플로우를 설치하면 제국의 함 www.acmicpc.net 갑자기 N x N 행렬이 나와서 당황했지만... 문제를 천천히 알고보니 각 노드들을 서로 서로 잇는 간선의 가중치값이 있는 행렬이었고... 이런 구조는 프림 알고리즘에서 잘 볼 수 있는 구조이다! 만약 이런 트리가 있다고 한다면, 프림 알고리즘에서는... 이렇게 한 노드를 중심으로 연결된 노드와 그 간선의 가중치를 저장해주기 때문에!! 가중치를 저장한 행렬과 비슷하다고 볼 수 있었다. 그래서 프림 알고리즘을 이용해 풀어봤다. #i..

[백준][C++] 1647 도시 분할 계획 [내부링크]

1647. 도시 분할 계획 문제 풀이 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로 주어지는데 A번 www.acmicpc.net 문제가 길지만... 해석해보면 하나의 최소 신장 트리를 두 개로 나눴을 때, 최소 간선의 수를 구하는 것이다. 사실 처음에는 조금 어렵다고 느꼈지만... 시각적으로 최소 스패닝 트리를 보니 어떻게 구현해야할지 바로 알 수 있었다! 이 트리를 보니, 확실히 알았다. 이 트리에서 두 개의 최소 신장 트리로 분할하려면 어떻게 해야할까? 일단, 간선 하나를 제거해야할 것이다. 그래야 두 개로 나..

[백준][C++] 1922 네트워크 연결 [내부링크]

1922. 네트워크 연결 문제 풀이 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 단순 최소 스패닝 트리를 구하는 문제! 위 문제처럼 크루스칼이나 프림을 사용하면 된다고 생각해, 좀 더 쓰기 번거롭지 않은 크루스칼 + 메모이제이션을 이용했다. 코드 #include #include #include using namespace std; int parents[1001]; // 간선 struct Edge { int a, b, w; bool operator < (const Edge& e) const { return w < e.w; } }; // 최상위 부모 찾기 int find(int v) { vector..

[백준][C++] 1197 최소 스패닝 트리 [내부링크]

최소 스패닝 트리 1197. 최소 스패닝 트리 문제 풀이 (크루스칼) 문제 풀이 (프림) 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 자료구조와 알고리즘 시간에 최소 스패닝 트리 개념과 크루스칼, 프림 알고리즘을 배워서 풀어본 문제! 크루스칼은 메모이제이션을 이용해야 통과가 되었고, 프림은 구현만 해도 통과가 되는 문제였다! 첫 문제니까... 알고리즘 설명을 해보자 하면 1. 크루스칼 간선들을 가중치 기준으로 오름차순 정렬해서 선택하는 알고리즘! 쉬워 보이지만..

[백준][C++] 6497 전력난 [내부링크]

6497. 전력난 문제 풀이 6497번: 전력난 성진이는 한 도시의 시장인데 거지라서 전력난에 끙끙댄다. 그래서 모든 길마다 원래 켜져 있던 가로등 중 일부를 소등하기로 하였다. 길의 가로등을 켜 두면 하루에 길의 미터 수만큼 돈이 들 www.acmicpc.net 기본적인 MST 문제였다. 전체 비용 - MST의 비용이 절약할 수 있는 최대 비용이기 때문이다. 알고리즘 설계 간선을 입력받으며 간선들과 간선들의 모든 가중치를 더해 저장한다. 간선들을 가중치 기준으로 오름차순 정렬한다. union-find와 memoization을 사용해 사이클이 생기지 않게 크루스칼 알고리즘을 이용해 MST의 비용을 구한다. 모든 간선의 가중치의 합 - MST 비용을 출력한다. 코드 #include using namespa..

[백준][C++] 14916 거스름돈 [내부링크]

1. 거스름돈 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 문제 풀이 간단한 그리디 문제였다. 동전이 2원, 5원 있는데 동전을 최소 개수로 주는 방법을 구하는 것이다. 동전을 최소 개수로 주려면, 5원을 잘 이용해야 했다. 따라서 5의 배수가 될 때까지 전체 금액을 2원으로 빼주었다. 만약, 24원이라면... 2를 2번 빼서 5의 배수인 20으로 만들고 5를 모두 빼는 것이다. #include using namespace std; int main() { int change; int count = 0; cin >> change; // 5의 배수가 될 때까지 2로 빼준다 while (change % 5 != 0 && change..