백준(19)
-
[백준] 요세푸스 문제 0
문제보기 - https://www.acmicpc.net/problem/11866문제명 - 요세푸스 문제 0난이도 - S4문제유형 - 구현풀이일자 - 25.03.23 📌 문제 탐색하기1번부터 N번까지 N명의 사람이 원을 이루어 앉아 있음순서대로 K번째 사람을 제거하는 작업을 반복하여 모든 사람이 제거될 때까지 진행함첫 줄에 N과 K가 주어진다.(1 ≤ K ≤ N ≤ 1,000)N과 K가 주어지면 (N, K)-요세푸스 순열을 출력해야 함 기호 안에 출력해야 함 🛠 시간복잡도 확인큐(Queue)를 사용하여 O(N)에 해결 가능! 📌 코드 설계하기N,K 입력 받기map(int, sys.stdin.readline().split())큐 초기화queue = deque(range(1, N + 1))요세..
2025.03.23 -
[백준] 이친수
문제보기 - https://www.acmicpc.net/problem/2193문제명 - 이친수난이도 - S3문제유형 - DP풀이일자 - 25.03.22 📌 문제 탐색하기이친수는 다음과 같은 조건을 만족하는 이진수임0으로 시작하지 않음1이 두 번 연속으로 나타나지 않음 (즉, 11을 부분 문자열로 갖지 않음)N(1 ≤ N ≤ 90)이 입력으로 주어짐입력으로 주어진 N자리 이친수의 개수를 출력해야 함N = 1 -> {1} -> 1개N = 2 -> {10} -> 1개N = 3 -> {100, 101} -> 2개N = 4 -> {1000, 1001, 1010} -> 3개N = 5 -> {10000, 10001, 10010, 10100, 10101} -> 5개 🛠 시간복잡도 확인DP 활용하여 O(n..
2025.03.22 -
[백준] 숫자 게임
문제보기 - https://www.acmicpc.net/problem/2303문제명 - 숫자 게임난이도 - S5문제유형 - 구현? 완전탐색풀이일자 - 25.03.21 📌 문제 탐색하기N명에게 각각 5장의 카드가 주어지고 그 중 3장의 카드의 합의 일의 자리 숫자가 가장 큰 사람이 승리첫 줄에는 사람의 수를 나타내는 정수 N2 ≤ N ≤ 1000그 다음 각 줄에는 1부터 10사이의 정수가 다섯 개씩 주어짐게임에서 이긴 사람의 번호를 출력해야 함이긴 사람이 2명 이상일 경우에는 번호가 가장 큰 사람의 번호를 출력 🛠 시간복잡도 확인입력 크기사람 수: N ≤ 1000한 사람당 5장의 카드 중 3장을 선택하는 경우의 수: 5x4/2x1 = 10O(N*10)으로 완전 탐색 가능! 📌 코드 설계하기..
2025.03.21 -
[백준] 결혼
문제보기 - https://www.acmicpc.net/problem/5567문제명 - 결혼식난이도 - S2문제유형 - 그래프이론풀이일자 - 25.03.20 📌 문제 탐색하기상근이의 친구와 친구의 친구까지 초대할 수 있음첫째 줄에 상근이의 동기의 수 n (2 ≤ n ≤ 500) *상근이 학번이 1둘째 줄에는 리스트의 길이 m (1 ≤ m ≤ 10000)친구 관계는 양방향셋째 부터는 친구 관계 ai bi가 주어짐(1 ≤ ai i ≤ n) ai와 bi가 친구라는 뜻이며 bi와 ai도 친구관계첫째 줄에 상근이의 결혼식에 초대하는 동기의 수를 출력깊이 2 이하의 친구들을 탐색하여 초대할 사람의 수를 계산 🛠 시간복잡도 확인입력 크기친구 수: n ≤ 500친구 관계 수: m ≤ 10,000탐색 방법..
2025.03.20 -
[백준] 도비의 난독증 테스트
문제보기 - https://www.acmicpc.net/problem/2204문제명 - 도비의 난독증 테스트난이도 - B1문제유형 - 정렬풀이일자 - 25.03.19 📌 문제 탐색하기첫 줄에 입력 개수 n (2≤ n ≤ 1000)이 주어짐이후 n개의 단어가 각 줄에 주어지며 각 단어의 길이는 최대 20자임마지막 줄에 0이 입력되면서 종료각 줄에 각 테스트케이스에서 사전상 가장 앞서는 단어를 출력해야 함 🛠 시간복잡도 확인정렬을 사용하므로 시간 복잡도는 O(n log n)n이 최대 1000개 이므로 가능! 📌 코드 설계하기n, n개 단어 입력받기sys.stdin.readline().strip()0을 만나면 입력멈추기 = 0 만날 때 까지 반복 -> while Trueif n == 0 : ..
2025.03.19 -
[백준] 촌수계산
문제보기 - https://www.acmicpc.net/problem/2644문제명 - 촌수계산난이도 - S2문제유형 - 그래프이론풀이일자 - 25.03.18 📌 문제 탐색하기가족 관계도가 주어졌을 때, 두 사람 사이의 촌수를 계산하는 문제두 사람 간의 최소 촌수를 구하는 것이 목표사람 수 n (1 ≤ n ≤ 100)촌수를 계산할 두 사람의 번호부모-자식 관계의 개수 m부모 자식간의 관계를 나타내는 두 번호 x,y두 사람 간의 최소 촌수 출력관계가 없으면 -1 출력 🛠 시간복잡도 확인관계가 무방향 그래프이므로 BFS 사용n이 최대 100이므로 BFS(너비 우선 탐색) 가능! -> O(N) 📌 코드 설계하기BFS를 사용하여 최소 촌수 계산 함수 생성하기그래프 초기화graph를 딕셔너리 형태..
2025.03.18