[백준] 11724번 연결 요소의 개수 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 11724번 연결 요소의 개수https://www.acmicpc.net/problem/11724 문제방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다.출력첫째 줄에 연결 요소의 개수를 출력한다.문제 유형그래프 이론그래프 탐색너비 우선 탐색깊이 우선 탐색 풀이 방법 도출 무방향 그래프에서 한 정점에서 다른 정점으로 경로가 존재하면 같은 연결 요소에 속합니다.경로가 전혀 없는 정점..
[LeetCode] 1768. Merge Strings Alternately 해설 및 풀이 (Python)
·
Study/코딩 테스트
LeetCode 1768. Merge Strings Alternatelyhttps://leetcode.com/problems/merge-strings-alternately/description/?envType=study-plan-v2&envId=leetcode-75 You are given two strings word1 and word2. Merge the strings by adding letters in alternating order, starting with word1. If a string is longer than the other, append the additional letters onto the end of the merged string.Return the merged string...
[백준] 2164번 카드 2 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 2164번 카드 2https://www.acmicpc.net/problem/2164문제N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다.이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다.예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 남는 ..
[백준] 1978번 소수 찾기 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 1978번 소수 찾기https://www.acmicpc.net/problem/1978  문제주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력주어진 수들 중 소수의 개수를 출력한다.  문제 유형수학정수론소수 판정 풀이 방법 도출 이 문제는 주어진 N개의 숫자 리스트 중에서 소수의 개수가 몇 개인지 출력하는 문제입니다.소수란 1과 자기 자신을 제외하고는 약수가 없는 자연수입니다.따라서 소수를 판별하고, 소수일 때 count 변수를 +1씩 증가시켜서 최종적으로 count를 출력하면 됩니다. 소수를 판별하는 함수 is_prime을 선언합니다. 소수..
[백준] 1654번 랜선 자르기 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 1654번 랜선 자르기https://www.acmicpc.net/problem/1654 문제집에서 시간을 보내던 오영식은 박성원의 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에서 140cm 짜리 랜선을 두 개 잘라내면 20cm는 버려야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 가정하며, 기존의 K개의 랜선으로 N개의 랜선을 만들 ..