실전 JAVA 소프트웨어 개발 | 입출금 내역 분석기 확장 실습하기
·
JAVA
지난 학습 : 2022.03.26 - [JAVA/자바 학습] - 실전 Java 소프트웨어 개발 | 입출금 내역 분석기 실습하기 이번에는 지난시간(챕터2)의 입출금내역 분석기를 확장하면서, JAVA소프트웨어 개발의 다른 원칙을 배운다. [ 입출금 내역 분석기 - 확장 ] 정리 내용 1. 확장된 프로젝트 구조 2. 실습에서 배운 것 3. 도전과제 해결 4. 앞으로 더 알아가야 할 것 1. 확장된 프로젝트 구조 기존 클래스의 구조도 개선하긴 했는데 일단 덮어두고, 아예 새롭게 추가한 클래스는 이렇다. Validator : 읽어온 데이터에 대한 검증(예외처리)을 하는 Validator Notification : 예외 내용은 여기에 기록해둔다. 함수형 인터페이스 Filter : 비슷한 메서드(month월에 amo..
[Java] BOJ 2469 | 사다리타기
·
기타
어제 저녁에 건드렸는데 어제 완성은 못하고 다음날 저녁에 구현완료했다. 처음부터 깔끔하게 구현하지는 못해서 3번이나 갈아엎었지만, 꼭 될 것만 같아서 포기하지는 못했던 문제다. 성공! https://www.acmicpc.net/problem/2469 2469번: 사다리 타기 첫 줄에는 참가한 사람의 수 k가 나온다(3 ≤ k ≤ 26). 그 다음 줄에는 가로 막대가 놓일 전체 가로 줄의 수를 나타내는 n이 나온다(3 ≤ n ≤ 1,000). 그리고 세 번째 줄에는 사다리를 타고 난 후 결정 www.acmicpc.net 간단히 푸는 방법 소개 소스코드 내 코드는 다소 길지만 로직 설명은 크게 복잡하지 않다. - afterReach() 메서드 - afterBackReach() 메서드 이정도다. 동일한 로직인..
JAVA 코테 | Scanner, println → BufferedReader/Writer | 시간초과로 입출력 변경
·
JAVA
Java로 코딩테스트를 칠 때, 느리다고 유명한 Scanner보다 BufferedReader를 쓰라는 말이 있다. 지금까지는 나는 Scanner를 사용했었다. 왜냐하면, 직접적으로 BufferedReader의 필요를 느끼는 순간이 금방 올 거라고 생각했고, 그 순간에 BufferedReader의 효과를 직접 느끼면서 Scanner -> BufferedReader로 갈아끼우고 싶어서이다. 이번에 그 순간이 왔다! 이 문제를 풀면서다. BOJ2448 이 문제의 입출력 특징 : 입력 : 맨 처음에 정수 하나만 들어온다. 출력 : matrix의 모든 내용물을 for문을 돌며 출력해줘야 한다. 첫 시도에서는 여기서 System.out.print()를 사용해주었는데, 시간 초과를 만났다. 그래서 print대신에 B..
실전 Java 소프트웨어 개발 | 입출금 내역 분석기 실습하기
·
JAVA
* 한빛미디어+O'REILLY의 Real-World Software Development (실전 자바 소프트웨어 개발)의 실습내용을 정리한 것이다. 실전 자바 소프트웨어 개발 이제 막 경력을 쌓기 시작한 자바 개발자가 최신 소프트웨어 개발 방법까지 알기란 벅찬 일입니다. 테스트 주도 개발 같은 객체지향 원칙을 배워야 할지, 함수형 프로그래밍을 배워야 할지 갈피 www.hanbit.co.kr 책택배를 받고나서 바로 다음날이 마침 주말이라, 바로 실습해봤다. 이 책을 한마디로 표현하자면 멈출 수 없는 맛...🤣 첫번째 실전 자바 소프트웨어 실습, [ 입출금 내역 분석기 ] 정리 내용 1. 프로젝트 구조 2. 실습에서 배운 것 3. 도전과제 해결 4. 앞으로 더 알아가야 할 것 1. 프로젝트 구조 이번 실습한..
BOJ 10994 | 별찍기 - 19 | 해결 과정 정리 | 재귀 vs 재귀X
·
기타
백준 10994 별찍기 문제를 해결해보았다. https://www.acmicpc.net/problem/10994 10994번: 별 찍기 - 19 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net ◆ 문제 해결 과정 : (재귀 X) ◆ 소스코드 (재귀X) 위 문제해결 과정을 바탕으로 다음처럼 작성해나갔다. - draw_step_of(k) : k단계 박스를 그리는 메서드 - print_else_line(k) : k단계 박스를 그리는 메서드 안에 사용함. 박스 윗라인이 있는 부분 말고 다른 라인을 그린다. (=> box side만을 그리는 부분) - flag를 설정하여서 box의 윗부분, 아랫부분을 그리는 방법을 달리하였다. 단순히, 위에 소개한 두 메서드의 순서를 서로 뒤바꿔주..
virtualbox ubuntu 20.04 로그인 후 검은화면 해결하기
·
기타
오늘 하루 이것만 붙잡고 있었네.. 아래 방법대로 해결했다. 우분투 18.04 방법 안내지만 나는 20.04인데 아래 방법대로 되었다. http://hpkim0512.blogspot.com/2019/09/ubuntu-1804.html [Ubuntu] 우분투 18.04 설치 시 검은화면 해결 최근에 연구용으로 워크스테이션을 하나 구매하였으며 사양은 아래와 같다. cpu: AMD 라이젠9 3900x gpu: Nvidia RTX2060 우분투 18.04를 설치 후 부팅시 메인보드 제조사 화면 후 os로 넘어갈 때 모니터가 hpkim0512.blogspot.com 처음에는 다른 글이랑 과정을 섞어서 생각하는 바람에 바로 해결하지 못했다. => 로그인 화면에서 Ctrl+Alt+F3 (Host+F3)에서 실행되는 ..
integer(0~9) array change process visualization (how to make gif)
·
데이터분석과 머신러닝
https://github.com/yyhh314/AlgorithmVisualization/blob/main/DrawMatrixs.py GitHub - yyhh314/AlgorithmVisualization Contribute to yyhh314/AlgorithmVisualization development by creating an account on GitHub. github.com 행렬의 변화를 gif로 확인해볼 수 있으면 좋을 것 같아서 구현해보았다. * 일단 0부터 9까지의 정수 배열만 가능하고, 모든 정수 배열은 N*M사이즈로 동일해야 한다. * 미로찾기를 시각화하려고 만든 것이다. 결과 보기: 더보기 더보기 [ 구현 기능 ] 2. N*M 행렬의 변화과정을 gif파일로 저장 : draw_matr..
DFS | 재귀함수 미로찾기 구현 (Java)
·
기타
(1, 1)에서 시작하여 (N, M)까지 반드시 도착하는 미로가 있다. 미로를 탈출하는 최단거리를 반환하는 문제다. 일단 결과 시각화다. 1은 길, 0은 벽, 2는 밟아간 자리 3은 되돌아간 자리 * 참고 : 행렬의 변화 과정을 gif로 시각화하는 모듈을 만들어두었다. integer(0~9) array change process visualization (how to make gif) 나는 가장 먼저 DFS로 풀었다. BFS로 푸는 방법도 있는데 DFS를 먼저 기록한다. DFS로 구현하고자 했던 이유: 1. (1,1)에서 (N,M)으로 가는 미로 최단거리 : 최대한 우측하단 방향으로 가면 된다. 2. 미로는 일단 깊게 쑥 들어가보는 알고리즘이 적합할 거라고 생각했다. => 즉, 최대한 우측하단으로 DFS..
혼공단 7기 6주차 미션인증
·
데이터분석과 머신러닝
학습 글: 2022.02.24 - [분류 전체보기] - 딥러닝 | 인공 신경망 분류 모델 만들기 2022.02.25 - [분류 전체보기] - 딥러닝 | 딥러닝 모델 성능 높이기 | layer 추가 & 활성화함수 & 옵티마이저 조정하기 2022.02.26 - [데이터분석과 머신러닝] - 딥러닝 | 과대적합 피하기 | optimizer, dropout (+콜백) 마지막이네요.. 더이상 소통하지 않더라도 항상 기억하고 있을게요 힘차게 응원해주셔서 감사했습니다.. 넘 따뜻한 방학이었어요.. 💝 기본 미션: 확인문제 07-1 풀기 1. 어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는? 답: ③ 1010개 풀이: 인공 신경망 모델에서의 모델 파라미터..
딥러닝 | 과대적합 피하기 | optimizer, dropout (+콜백)
·
데이터분석과 머신러닝
한빛미디어 도서 의 전개를 따른 내용이다. 챕터 7, 딥러닝을 시작합니다! * 딥러닝의 핵심 알고리즘 '인공 신경망' * 대표적인 인공 신경망 라이브러리 텐서플로, 케라스 * 인공 신경망 모델의 훈련을 돕는 도구 익히기 혼공단 활동의 마지막 챕터.. 하지만 머신러닝 책 진도는 남았다.. 이제 학기가 시작되니까 여름 방학에 이어서 해야 하려나 ㅠㅠ 혼공단 활동 덕분에 그래도 강제성이 좀 있어서 꾸준히 했다. 사용한 데이터와 따로 정의한 함수 정보 더보기 # 손실 곡선 확인하기 훈련된 모델이 과적합인지 판단하기 위해서 '훈련세트의 손실 곡선 vs 검증세트의 손실 곡선'을 시각화해보자. 딥러닝 모델은 epoch마다 손실을 계산한다. 훈련 데이터에 대한 손실을 줄여나가는 목적으로 학습이 이루어지는데, 과적합인지..