Computer Sciences(236)
-
[Baekjoon] 1080번: 행렬
https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 문제 설명 행렬 A와 B가 주어진다. 이 행렬은 모두 0 또는 1로 구성되어 있다. A를 B로 변환하는 최소 연산을 구해야 한다. 연산 방법은 0이면 1로, 1이면 0으로 3x3만큼 변환한다. 풀이 방법 간단하게 생각하면 간단하고 어렵게 생각하면 한없이 어려운 게 그리디 문제인 거 같다. [0, 0] 부터 한 칸씩 이동하면서 해당 칸이 B와 다르다면 해당 위치부터 3x3의 모든 칸을 반전시키면 된다. 그리고 마..
2023.04.24 -
[Programmers] 요격 시스템
https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 배열에서 겹치는 구간이 가장 많도록 하는 그리디 문제이다. 풀이 방법 먼저 끝나는 지점을 기준으로 오름차순 정렬한다. 그리고 정렬된 targets 배열을 순회하면서 시작하는 지점이 현재 끝나는 지점보다 크거나 같으면, 즉 겹치는 구간이 끝나면 새로운 구간의 시작이므로 카운트를 추가하고 끝나는 구간을 해당 개구간의 끝나는 지점으로 변경한다. import java.util.*; c..
2023.04.22 -
[Baekjoon] 2251번: 물통
https://www.acmicpc.net/problem/2251 2251번: 물통 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부 www.acmicpc.net 문제 설명 문제 이해는 어렵지 않다. 물통 A, B, C가 있고 처음엔 C만 채워진 상태로 주어진다. 그 다음 물통의 물을 다른 물통으로 옮기다가 A 물통이 비었을 때의 C 물통에 담겨 있는 물의 양을 알아놓았다가 오름차순으로 출력하면 된다. 예제 입력으로 예를 들면 다음과 같다. A 물통이 비어있으므로 현재 C 물통에 차있는 만큼인 10을 정답에 추가한다. C에서 B로 물을 ..
2023.04.19 -
[Baekjoon] 16234번: 인구 이동
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 문제 설명 BFS를 활용한 구현, 시뮬레이션 문제이다. 문제 조건을 읽고 하나하나 꼼꼼하게 작성해 나가면 된다. 풀이 방법 구현 문제다 보니 코드가 꽤 길다(100줄 가량 된다). import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Queu..
2023.04.18 -
[BigData] 데이터 시각화
도수 분포표 데이터가 취하는 값을 몇 개의 구간으로 나누고, 각 구간에 몇 개의 데이터가 들어가는가를 세서 정리한 표이다. 용어 계급(class): 구간 0 ~ 10, 10 ~ 20, 20 ~ 30, … 계급폭(class interval): 구간 길이 10 계급값(class midpoint/mark): 구간 대푯값 5, 15, 25, … 계급수(bins): 총 계급 수 100점까지 계급폭이 10이므로 계급 수는 10이다. 도수(frequency): 계급에 속한 학생 수 0 ~ 10까지는 1, 11 ~ 20 까지는 3, … 상대도수(relative frequency) 전체 중 해당 계급이 차지하는 비율 누적상대도수(cumulative relative frequency) 현재 계급까지 상대도수의 합 Nump..
2023.04.17 -
[BigData] 데이터 정규화
필요성 평균과 분산이 다른 데이터를 비교하기 위해서 필요하다. 평균은 기준점, 분산은 퍼진 정도이다. 정규화(normalization) 데이터를 통일된 지표로 변환하는 것이다. 표준화, 편찻값 등이 있다. 표준화(standardization) 데이터에서 평균을 빼고 표준편차로 나눈 지표이다. $$ z_i=\frac{x_i-\bar{x}}{S} $$ 표준화된 데이터를 표준화 변량(standardization data) 또는 Z-score라고 한다. 표준화된 데이터의 평균은 0, 표준 편차는 1이다. 표준화된 데이터의 단위는 없다. Pandas에서 표준화 작업을 할 때는 ddof를 0으로 설정해주어야 한다. 편찻값(t-score) 데이터에서 특정한 데이터가 얼마나 특수한지를 측정하는 지표이다. 평균이 50,..
2023.04.17