Competition 117

[kaggle] Titanic: Machine Learning from Disaster (1)

캐글에서 가장 유명한 주제중 하나인 타이타닉 탑승자 생존률 구하기 데이터 분석을 캐글 코리아의 타이타닉 튜토리얼을 참고 하여 진행해보았다. 총 4가지 부분으로 나눴으며 순서는 아래와 같다. 1) DataSet 확인 2) EDA (Exploratory data analysis) 3) Modeling 4) Machin Learning In [53]: import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns In [54]: plt.style.use('seaborn') sns.set(font_scale=2.5) In [55]: import missingno as msno import warnings wa..

Competition/Kaggle 2020.08.31

[백준] 9019번 자바 DSLR

문제 출처 https://www.acmicpc.net/problem/9019 9019번: DSLR 문제 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 저장된 n을 다음과 같이 변환한다. n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자) D: D 는 n을 두 배로 바꾼다. 결과 값이 9999 보다 큰 경 www.acmicpc.net 접근 방식 및 풀이 - BFS를 활용한다. - 명령어를 한번씩 실행하면서 결과값을 저장하고, 계속 돌다가 출력해야하는 값이 나..

[백준] 3108번 자바 로고

문제 출처 https://www.acmicpc.net/problem/3108 3108번: 로고 문제 로고는 주로 교육용에 쓰이는 프로그래밍 언어이다. 로고의 가장 큰 특징은 거북이 로봇인데, 사용자는 이 거북이 로봇을 움직이는 명령을 입력해 화면에 도형을 그릴 수 있다. 거북이는 위치와 각도로 표현할 수 있다. 거북이는 입에 연필을 물고 있는데, 연필을 내리면 움직일 때 화면에 선을 그리고, 올리면 선을 그리지 않고 그냥 지나가기만 한다. 제일 처음에 거북이는 (0,0)에 있고, 거북이가 보고 있는 방향은 y축이 증가하는 방향이다. 또한 연필은 내 www.acmicpc.net 접근 방식 및 풀이 - 어떻게 접근 해야할 지 도저히 감이 안와서.. 처음부터 다른 블로그를 참고했다. - 참고 : 백준 3108..

[백준] 2632번 자바 피자

문제 출처 https://www.acmicpc.net/problem/2632 2632번: 피자판매 첫 번째 줄에는 손님이 구매하고자 하는 피자크기를 나타내는 2,000,000 이하의 자연수가 주어진다. 두 번째 줄에는 A, B 피자의 피자조각의 개수를 나타내 는 정수 m, n 이 차례로 주어진다 ( 3≤m, n≤1000). 세 번째 줄부터 차례로 m 개의 줄에는 피자 A의 미리 잘라진 피자조각의 크기를 나타내는 정수가 주어진다. 그 다음 n 개의 줄에는 차례로 피자B의 미리 잘라진 피자조각의 크기를 나타내는 정수가 주어진다. 각 종류의 피자조각의 크기 www.acmicpc.net 접근 방식 및 풀이 - A피자, B피자의 부분합의 배열을 구한다. - 두 부분합의 배열을 투포인트 알고리즘을 통해 목표값을 찾..

[백준] 2580번 자바 스도쿠

문제 출처 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 몇 몇 칸에는 1부터 9까지의 숫자 중 하나가 쓰여 있다. 나머지 빈 칸을 채우는 방식은 다음과 같다. 각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 굵은 선으로 구분되어 있는 3 www.acmicpc.net 접근 방식 및 풀이 - 백트래킹 + DFS 문제 - N-Queen (백준 9663번)과 비슷한 문제 - 백트래킹 3가지 조건 :..

[백준] 9095번 자바 1,2,3 더하기

문제 출처 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 www.acmicpc.net 접근 방식 및 풀이 - 다이나믹 프로그래밍 (DP) 의 기본 문제 - 재 사용할수 있는 부분을 구하여, 그다음 숫자..

[백준] 1451번 자바 직사각형으로 나누기

문제 출처 https://www.acmicpc.net/problem/1451 1451번: 직사각형으로 나누기 첫째 줄에 직사각형의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 직사각형에 들어가는 수가 가장 윗 줄부터 한 줄에 하나씩 M개의 수가 주어진다. N과 M은 100보다 작거나 같은 자연수이고, 직사각형엔 적어도 3개의 수가 있다. 또, 직사각형에 들어가는 수는 한 자리의 숫자이다. www.acmicpc.net 접근 방식 및 풀이 참고 : Baekjoon Online Judge 1451번 풀이 0. 문제 요약 - 직사각형의 크기 : N * M - 직사각형을 겹치지 않는 3개의 작은 직사각형으로 나누는 문제 - 모든칸은 하나의 직사각형에 포함되어야한다.(남는 칸이 없어야한다.) - 각 직사..

[백준] 1987번 자바 알파벳

문제 출처 https://www.acmicpc.net/problem/1987 1987번: 알파벳 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 www.acmicpc.net 접근 방식 및 풀이 - BFS, DFS 모두 사용가능하지만, BFS는 알파벳의 방문여부를 체크하기 까다롭다. 이부분에서 해매다가 ..

[백준] 1261번 자바 알고스팟

문제 출처 https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미한다. (1, 1)과 (N, M)은 항상 뚫려있다. www.acmicpc.net 접근 방식 및 풀이 - BFS와 Deque 개념 활용한 문제 - 핵심 알고리즘은 BFS에서 0이면 그냥 가고, 1이면 부수고 가야하므로 dist 배열에 1을 더해주는 것이다. - 프로그래밍에서 배열과 수학에서의 x, y 좌표.. 가 헷갈려서 중간에 런타임에러 엄청 걸렸다. 소스 코드 1 2 3 4 5 6 7 8 9 ..

[백준] 10971번 자바 외판원 순회 2

문제 출처 https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j로 가기 위한 비용을 나타낸다. 항상 순회할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 접근 방식 및 풀이 - 완전탐색(brute force), dfs 사용하여 min 값을 계속 갱신한다. - 참고블로그 : #백준_10971 외판원 순회2 - Java 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20..