일반 국비교육과정과 SSAFY 수업 모두 들어보면서 느낀 점 1. 학생들의 수준일반적인 국비의 경우 코딩에 대해서 하나도 모르다가 학원에서 처음으로 알게된경우가 많다.반면에 싸피의 경우에는 대부분 전공자이거나 비전공자이더라도 컴퓨터에 대한 관심이 많다.따라서 당연하게도 흡수속도가 차이가 나며 마인드적인 부분에서도 싸피생들이 열심히 하는게 느껴진다. 2. 교육과정국비의 경우에는 한 두명의 강사님이 작성하는 코드를 함께 따라 친다.이 방식의 장점은 무엇인가 배우고 있다는 느낌을 주고 하나도 모르는 사람도 어찌되었건 뭔가 완성해간다는 뜻이다. 싸피의 경우에는 클론코딩보다는 이론적인 학습 시간 + 스스로 해보는 시간으로 나눠진다.오전에는 이론수업 2시간을 듣고 오후 내내 이론 수업을 기반으로 과제를 하는 식이다..
웹소켓을 활용한 프로젝트를 진행하면서 생각보다 웹소켓에 대해서 잘모르고 진행하고 있다는 생각이 들었다. 웹소켓을 사용하기 이전까지 HTTP 프로토콜을 활용한 통신은 클라이언트가 서버에 요청을 보내면 서버가 응답하는 단방향 통신 방식이었다. GET, POST 등 그러나 웹소켓은 양방향 통신을 제공하는 컴퓨터 통신 프로토콜 중 하나이다. 웹소켓을 활용해서 실시간 데이터를 교환할 수 있고 활용 예시로는 채팅, 게임, 주식 시장 데이터 업데이트처럼 실시간 데이터 전송이 필요한 경우에 사용한다. 나같은 경우에는 upbit api를 활용하기 위해서 웹소켓을 활용했다. 해당 프로젝트에서는 okhttp3 의 WebSocketListener 추상클래스를 활용했다. 추상클래스이므로 상속받아 커스텀 웹소켓리스너 클래스를 만..
![[백준 1043번] 거짓말 (JAVA) (Union Find 연산 활용 풀이 및 다른 풀이)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEhF7r%2FbtsESLDLN7h%2FiFwtHcoFhEJP7TVKk58VOK%2Fimg.png)
문제 https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 문제해설 1. 지민이의 거짓말을 아는 사람 수와 사람들의 정보가 주어진다. 2. 파티의 수와 해당 파티에 참여하는 사람들의 수, 정보가 주어진다. 3. 파티에 지민이의 거짓말을 아는 사람이 있는 경우, 해당 파티에서는 지민이가 거짓말을 할 수 없다. 4. 파티에 지민이의 거짓말을 아는 사람이 있는 경우, 해당 파티에 참여한 다른 사람들도 지민이의 거짓말을 한다는 것을 알게된다. 풀이 1 어차피 n, m..
![[백준 2493번] 랜선 자르기 (JAVA)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzFtVL%2FbtsEQNmZ5s3%2FE1pkoaho3E7GRs4IQ6Wvjk%2Fimg.png)
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 이분 탐색으로 이걸 어떻게 접근할까? 결국 이 부분을 생각해내는게 이 문제의 핵심이라고 생각한다. 이 문제를 풀지 못한 다수에게 이분 탐색은 배열에서 특정 index 값을 key 값으로 찾는 과정으로 알고 있을 것이다. (내가 찾는 key 값) = > 반으로 쪼개고 다시 반으로 쪼개는 과정 => 해당 인덱스 값 도출 위 과정을 랜선 자르기에 도입하면? (내가 찾는 랜선..

문제링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 한빈이와 Sport Mart 는 시간이 넉넉해서 O^2 방법으로 모두 돌아서 계산하는 방법과 왼쪽과 오른쪽으로 포인터를 구분해서 계산하는 방법으로 접근할 수 있다. 1) import java.util.*; import java.io.*; public class Solution { static int n, m; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int tc ..

https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 기존에 푼 방법 완전탐색으로 하면 시간초과 나온다. 중요한 점은 탑의 높이와 탑의 위치를 저장하는게 필요하다. 이는 HashMap을 활용해도 되고 1차원 배열을 활용해도 되고 클래스를 만들어도 괜찮다. 다음은 내가 푼 로직이다. 왼쪽에서부터 접근할 필요는 없다고 생각했다. 왜냐하면 레이저는 오른쪽에서 왼쪽으로 쏘고 있으니깐. 만약 오른쪽에서 접근을 한다면 어떻게 될까? 먼저 4를 저장한다. 4보..

EC2가 CPU 사용률 때문에 뭐하면 죽고 하니깐 배치가 제대로 도는지 확인이 어려웠다. 그래서 텔레그램 봇을 활용해서 배치가 제대로 수행되면 나한테 메시지를 보내도록 했다. 메시지가 안오면 바로 ec2 재부팅 하러 갈 수 있게 ㅎㅎ; 텔레그램 봇 만들기 텔레그램 봇 혼자 만드는 방법: Botfather 사용해서 채팅하기 텔레그램 봇을 간편하게 만들어서 채팅 봇을 사용해보세요. Botfather라는 텔래그램 공식 봇을 사용하면 API KEY를 받아서 간편하게 채팅 봇을 통해 텔레그램 채널을 운영할 수 있습니다. 글에서 설 www.keywordontop.com 해당 글을 참고했다. FeignClient 사용하는 곳도 있었는데 HttpURLConnection 을 활용해서 그냥 GET 메서드로 나한테 메시지를..

서버를 껐다 켰다 하면서 sql의 상태를 확인 못한 내 잘못.. 비밀번호를 바꾸지 않았는데 갑자기 원격 접속이 안된다. 급하게 ec2에 들어가서 확인을 해보니 해당 비밀번호로 접속이 불가능한 상황이었다. 초기화를 진행하도록 했다. 밑에는 root 계정 초기화를 다룬 블로그 내용이다. https://www.infracody.com/2022/06/mysql-root-password-reset.html MySQL/MariaDB root 비밀번호 초기화 방법 mysqld_safe 명령어 없이 MySQL root 비밀번호를 초기화하는 방법을 알려드립니다. systemd 환경 변수를 설정하고 MySQL 서비스를 재시작하는 과정을 따라하세요. www.infracody.com 서버 CentOS7 mysql은 8을 사용..

문제링크 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 한 줄 아이디어 : 살아남는 수들이 소수이다 이 문제는 모든 소수를 찾는 문제가 아니다. 왼쪽에서 1자리 2자리 3자리.. 수가 소수인 아름다운 소수를 찾는 문제다. 이를 위해서 DFS를 사용해 1자리 수부터 N자리 수까지 소수가 되는 수만 소수로 출력해보자. 예를 들면 1자리 수에서 소수는 2 3 7 이다. 2자리 수에서 소수는 2x , 3x, 7x일 것이다. 3자리 수에서 아름다운 소수는 앞에서 만든 2자리 수에다가 1~9를 붙여보면서 소..

문제링크 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 접근 방식 하나의 정사각형은 4개의 정삭가형으로 나눠진다. 나는 해당 부분을 11시, 1시, 7시, 5시로 나눴다. 나는 열을 x 행을 y라고 하고 문제를 푸는 편이다. 4개로 분활한 각각의 정사각형의 좌측 최상단의 y, x 의 값은 그림과 같다. 그러면 각각의 좌측 최 상단의 y, x는 뭘 참고해서 구할 수 있을까? 위 그림에서 한변의 길이는 4라고 할 수 있다. 그리고 좌표를 잘 보면 알 수 있겠지만 2 라는 숫자.. 4/2 임을 알 수 있..