슈뢰딩거의 20학번 6회차
업데이트:
6회차 세부사항
모임 일자
- 2020-07-16
모임 일시
- 14:00 ~ 17:00 (3시간)
모임 장소
- 각자 집
목표 사전 발표
- 최민우: plzrun - 그래프 PS (BOJ)
- 노채은: 제품개발을 위한 빅데이터 분석실습 1~4 수강 및 실습+ BOJ 파이썬으로 1문제 이상 풀기
- 송유찬: ### 결석 ###
- 최수빈: 컴퓨터프로그래밍1 8주차 클래스와 객체에 대한 복습 및 텀프로젝트 다시 하기
회고
이름 클릭시 해당 회고록 블로그로 이동합니다
최민우
목표 : BOJ 문제 풀이
오늘 공부한 내용은 간단한 그래프 문제로 BFS와 DFS를 이용한 PS였다.
원래는 이미 방문한 부분은 리스트로 제작하여서 push & pop 을 실행햐였는데, 리스트에 push, pop 하는 행동과 탐색과정에 시간을 많이 잡아먹어서 고민을 하던 중
visited 라는 이차원 배열을 이용하여 시간초과 문제를 해결하였다.
파이썬과 친해진 지금이지만, PS를 위해 C++를 공부해야겠다는 마음가짐이 생겼다.
노채은
목표 : 제품개발을 위한 빅데이터 분석실습 1~4 수강 및 실습+ BOJ 파이썬으로 1문제 이상 풀기
#BOJ 9465
T=int(input())
for i in range(T):
n=int(input())
arr=[] #2xn
arr.append(list(map(int, input().split())))
arr.append(list(map(int, input().split())))
arr[0][1] = arr[0][1] + arr[1][0]
arr[1][1] = arr[1][1] + arr[0][0]
for j in range(2,n):
arr[0][j] += max(arr[1][j-1], arr[1][j-2])
arr[1][j] += max(arr[0][j-1], arr[0][j-2])
print(max(arr[0][n-1], arr[1][n-1]))
빅데이처 분석의 주요 목적은 조직에 존재하는 다양한 원천으로부터 수집되는 다양한 유형의, 그리고 대량일 가능성이 높은 데이터로부터 전략적으로 효용이 높은 정보 또는 지식을 추출하고 이를 경영활동에 활용함으로써 조직의 경쟁력을 높이는 것임을 확실히 느꼈다.
새롭게 생성되는 지식의 가치는 빅데이터 분석 역량에 의해 결정되므로, 데이터에서부터 정보와 지식을 찾고 그것을 적용하여 문제해결할 수 있었다. 다양한 실습 데이터를 활용하여 실습해보니 더욱 효과적으로 이해할 수 있었다.
DP 문제를 풀면서 약간의 유사성을 발견한 것 같다.
백준 알고리즘에 있는 DP문제들만 풀어봐서 그런지 점화식의 형태가 유사해서 이전보다는 더욱 편해졌다.
뭐든 시작이 어렵고 하다보면 또 색다른 재미를 느낄 수 있는 것 같다.
2주차를 남겨두고 지금까지 한 회고록을 되돌아보니 알차게 보낸 지난 6주의 시간이 뿌듯하게 느껴진다.
최수빈
목표 : 컴퓨터프로그래밍1 8주차 클래스와 객체에 대한 복습 및 텀프로젝트 다시 하기
- 텀프로젝트의 스켈레톤 코드
main: 사용자 입력 처리 및 함수 호출과 인자 전달
convertDecTobin: 정수형 십진수를 받아 문자형 이진수로 변환
checkBinToDec: 이진수와 십진수 입력을 받아 두 수가 일치하는지 비교
public class DecToBin {
public static String convertDecToBin(int num){
//(구현 요구 사항)
//1. For 문을 이용하여 num 값(십진수)을 이진수로 변환
//2. 변환된 이진수 값은 String형 변수에 저장 후 반환
//2.1 이진수 변환시 값의 크기에 관련 없이 총 자리수는 8자리여야 함.
//가령, 255 -> 11111111, 1 -> 00000001, 2 -> 00000010, 15->00001111
//이런 식으로 항상 8자리 이진수로 변환
return null;
}
public static boolean checkBinToDec(String bin, int num){
//(구현 요구 사항)
//1. 이진수로 표현된 bin 값을 int 형 십진수로 변환
//1.1 String 타입의 bin에서 각 비트를 추출할 때, charAt 함수 사용 (사용법은 구글링)
//1.2 char 형의 변수 '0'과 '1'의 아스키 코드값은 48, 은 49임(필요시 사용)
//2. 변환된 십진수와 입력으로 받은 num 값을 For 문으로 비교
//3. 값이 동일하면 True, 다르면 False 반환
//...
return true;
}
public static void main(String args[]) {
int input=0;
String bin;
boolean check;
//(구현 요구 사항)
// 1. Scanner 사용해서 input 변수에 int 형 타입의 입력 받기
// 2. 입력된 값이 1-255 사이가 아닐 경우 다시 입력 받기
//...
System.out.print("1-255사이 10진수를 입력하세요 : ");
//...
// 아래 코드는 변경 하지 말것.
bin = convertDecToBin(input);
System.out.println("이진수 값: " + bin);
check = checkBinToDec(bin, 13);
System.out.println("검증 결과: " + check);
}
}
텀프로젝트를 다른 내용들을 복습하는 시간을 포함한 3시간 안에 끝내려고 했던 계획이 조금 무리가 있었던 것 같다.
그 결과 main클래스까지밖에 작성하지 못했고 이번에 완성하지 못한 나머지 부분은 다음 회차가 되기 전까지 이 글에 추가해둬야겠다.
단순한 개념들을 복습하고 비교적 쉬운 과제들을 하다가 이번 텀프로젝트를 보니 역시 바로 문제를 해결할 수는 없었다.
그러나 저번에 한번 했던 걸 다시보니 어떻게 이 문제를 해결했는지 어렴풋이 생각이 나는 것 같아 다시금 복습의 중요성을 깨달을 수 있었던 것 같다.