1. 문제 출처 및 참고한 사람 문제: https://www.kaggle.com/competitions/titanic Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com 참고:https://www.kaggle.com/code/omarelgabry/a-journey-through-titanic/notebook A Journey through Titanic Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster www.kaggle.com 2. 문제 풀이 # 필요한 라이브러리 불러오기 # 데..
1. 문제 출처 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 2. 풀이 단순 구현 문제이다 # 입력 n = int(input()) strings = [] for _ in range(n): strings.append(input()) def solution(): # 결과값 result = 0 # 문자열 하나씩 확인 for string in strings: flag = True # 각 문자 c = string[0..
1. 문제 출처 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 2. 풀이 주사위를 위, 아래, 나머지로 나누어서 하였다. 여기서 나머지는 바닥 눈금의 동,서,북,남 순 으로 정렬하였으며 이를 이용하여 좀더 편하게 주사위 굴리기를 할 수 있었다.. # 입력 n,m,x,y,k = map(int,input().split()) dice_map = [] for _ in range(n):..
1. 문제 출처 https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 2. 풀이 단순한 구현 문제이다 # 입력 n = int(input()) tests = list(map(int, input().split())) total, vice = map(int, input().split()) # 모든 시험장에 총감독관 1명씩 들어 가므로 시험장 개수 만큼 감독관 수를 더해준다. count = len(t..
1. 문제 출처 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 2. 풀이 단순 bfs알고리즘을 사용하는 문제이다.. # 입력받기 n,m = map(int,input().split()) # 미로 maze = [] # 상하 좌우 이동 범위 dx = [0,0,-1,1] dy = [-1,1,0,0] # 입력 받기 for i in range(n): maze.append(list(map(int,list(input())))) # bfs를 사용하여 문제를 해결하였다.. def soluti..
1. 문제 출처 https://www.acmicpc.net/problem/2229 2229번: 조 짜기 알고스팟 캠프에 N(1 ≤ N ≤ 1,000)명의 학생들이 참여하였다. 학생들은 열심히 공부를 하고 있었는데, 어느 날 조별 수업을 진행하기로 하였다. 조별 수업의 목적은 잘 하는 학생들과 덜 잘 하는 www.acmicpc.net 2. 풀이 다이나믹 프로그래밍 이용하면 된다. # 입력 n = int(input()) students = list(map(int,input().split())) g = [0 for _ in range(1+n)] # 다이나믹 프로그래밍을 이용하여 for i in range(n+1): ma = 0 mi = 10001 for j in range(i,0,-1): ma = max(ma..
1. 문제 출처 https://www.acmicpc.net/problem/13413 13413번: 오셀로 재배치 로봇을 좋아하는 세희는 로봇동아리에서 카메라와 센서, 라즈베리 파이, 집게발을 이용해 로봇을 완성하였다. 이 로봇을 통해서 오셀로 재배치라는 작업을 하려고 한다. 오셀로 말은 앞면이 검 www.acmicpc.net 2. 풀이 그리드 알고리즘 문제로 뒤집어야 하는 돌의 위치를 먼저 파악 후 자리를 바꾸는 돌을 파악한다. # 그리디 알고리즘을 사용하여 먼저 색깔의 차이를 확인한 후 # 자리를 바꾸도록 한다. #입력 t = int(input()) for _ in range(t): size = int(input()) init = input() goal = input() result = 0 change..
1. 문제 출처 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 2. 풀이 해당 문제는 흔히 Knapsack 알고리즘 문제이다 가방의 담을 수 있는 무게가 정해져 있을 때, 최대한 가치를 가지도록 배낭을 싸는 문제이다.. 이를 다음과 같이 정의할 수있다. 1.현재 배낭의 한계량 보다 큰 무게의 물건은 넣지 않는다. 2.현재 배낭의 한계량 보다 작은 무게라면 더 좋은 가치의 물건을..