사이트명 백준 문제 링크 www.acmicpc.net/problem/17142 주요 알고리즘 조합, BFS 사용 언어 Java 자바 알고리즘이 낯선 사람들을 위해 생각 노트를 같이 두었습니다. 1. 문제 2. 입력 / 출력 🧶 Check Point - 풀이 알고리즘의 결정 1. 바이러스 개수는 최대 10개 = 10C5 조합 결과 250개 2. 최대 칸 수 50칸 = 50^2 그래프 탐색시 최대 걸리는 시간 2500 ===> 완전 탐색으로 가능 - 출력 값 출력이 결국 모든 칸에 바이러스가 있게 되는 최소 시간. 따라서 칸과 시간을 중점으로 체크해야 한다. 3. 풀이 3-1. 생각 노트 1. 바이러스(2)인 수를 전부 virusList에 넣기 2. nCm 의 형식으로 모든 경우에 대한 조합 생성 3. 조합..
사이트명 백준 문제 링크 www.acmicpc.net/problem/16236 주요 알고리즘 시뮬레이션, BFS, 사용 언어 Java 자바 알고리즘이 낯선 사람들을 위해 생각 노트를 같이 두었습니다. 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 골드4의 아기상어 문제. 일단 삼성의 주요 기출 형태(구현) 중 하나이다. 조합같은 개념이 적용되진 않아서 어려운 편은 아니다. 그저 문제를 잘 읽고, 그대로 잘 구현 하면 된다. 3-2. 변수명 변수명 설명 Class Fish 물고기들의 시간값(거리)를 기록하기 위한 객체 ArrayList feedList 식사 가능한 경우 들어가는 후보 먹이 리스트! 추후 정렬을 통해 어느것을 먹을지 결정한다. Queue q 이동 가능한 경우에 들어가는 이동 대..
*작성자 환경 : macOS 결론 요약 엑셀 파일을 CSV 파일로 변환한다. 이 때, 인코딩을 UTF-8로 해야지 한글이 안깨진다. 변환된 CSV 파일을 웹 사이트를 이용해 JSON으로 바꾼다. 현재 카카오맵을 기반으로 상권 추천 웹 서비스 프로젝트를 진행 중에 있다. 특히, 이 부분은 GIS(지리정보시스템)과 연관이 깊다. 상권 분석 같은 경우 서울시나 소상공인진흥공단 처럼 공적인 목적이 많다보니, 사이트에서 제공하는 기능 자체도 굉장히 고도화되어 있다. 그것에 맞게 현재 개발중인 프로젝트에서도 지도 위에 다양한 정보를 표시해야 한다고 생각해서 편의 기능을 구현하는 중이다. 지도 위에 동 별로 커스텀 오버레이 구현하기 현재 하려는 건, 이거다. 자료 구하기 JSON 자료는 제공하는 곳이 많은데, 하나씩..
사이트명 백준 문제 링크 www.acmicpc.net/problem/1260 주요 알고리즘 그래프, DFS, BFS 사용 언어 Java 자바 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 이전에 인접 행렬로 풀었던 것을 다시 보며 리뷰를 진행하려 한다. 특히 인접 리스트로 풀 땐, 가장 작은 노드부터 방문한다는 정렬 조건 때문에 고민했는데, 이전에 푼 코드를 보니 정렬에 대한 고민의 흔적이 없었다.. 그 이유는, 이미 행렬의 경우 1부터 순차적으로 접근하기 때문에 작은 노드부터 접근하게 된다. 반면, 리스트의 경우 내가 삽입한 순서대로 들어가기 때문에 정렬이 필요하다. 그림으로 표현하면 아래와 같다. 3-2. 변수명 변수명 설명 int[..
사이트명 백준 문제 링크 www.acmicpc.net/problem/1260 주요 알고리즘 그래프, DFS, BFS 사용 언어 Java 자바 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 이전에 인접 행렬로 푼 문제인데, DFS/BFS를 다시 공부할 겸 이번엔 인접 리스트로 풀려고 도전했다. 인접 리스트가 인접 행렬보다 시간도 적게 걸리는 이유도 있고, 리스트 형식으로 푸는 걸 연습하고 싶었다. *참고로 시간복잡도는 다음과 같다. 인접 행렬 : 간선 개수와 무관하게, O(V^2) 인접 리스트 : O(V+E) 풀이 과정은 기본적으로 다음과 같다. 1. 간선 리스트 배열 생성 -> 초기화 2. 간선 리스트에 양방향으로 노드 넣기 3. DFS..
사이트명 백준 문제 링크 www.acmicpc.net/problem/2252 주요 알고리즘 위상 정렬, 그래프 사용 언어 Java 자바 설명이 장황합니다.. 도움되는 것만 파악하세요 :-) 1. 문제 2. 입력 / 출력 3. 풀이 3-1. 생각 노트 맨 처음 단순히 for문을 이용하여 문제를 해결하려 했다. 문제에서 크다/작다로 입력되는 모든 수를 카운팅(크면 +, 작으면 -)하고, 최종적으로 카운팅 된 수 크기대로 출력하는 방식을 생각했다. int[][] height = new int[N][2]; for (int i = 0; i < N; i++) { height[i][0] = i; } for (int i = 0; i < M; i++) { int t = sc.nextInt(); int s = sc.nex..
A. 주저리 주저리 서론 서브 모니터를 구매했다. 구매 당시 '개발용 세로 모니터'를 마련하고 싶었다. 프로젝트 기간 동안 개발을 상당히 많이 해야하는데, 모니터는 다다익선이기 때문이다. 나의 이런 소비를 촉진한 것이 또 있었는데, 어느 개발자 유튜버가 모니터 3개는 필요하다고 말했다. 하나는 코드 작성, 하나는 결과물 확인, 하나는 레퍼런스 확인.. 나 또한 이것에 크게 공감했다. 소비에 붙일 이유는 차고 넘친다 1학기 때 개발 프로젝트를 할 때, 모니터 두 개를 썼다. 맥북 화면으로 결과물과 메신져를 표시했고. 27인치 QHD 메인 모니터로 절반은 코딩을 절반을 레퍼런스를 확인했다. 개발의 난이도와 크롬 창 갯수는 비례한다고 했던가, 기술이 고도화될 수 록 크롭 탭 수는 기하급수적으로 늘어나고, 크롬..
사실 SSAFY 1학기가 다 끝나고 2학기가 시작한지 한참 되었다. 계속 미루다가 2학기까지 끝날 것 같아 당장 생각나는 것들을 적으려 한다. 취업난 속에 싸피에 소속되어 개발 교육을 듣고 인적 네트워크를 구축하는 것은 굉장히 값진 일이다. 내가 느꼈던 것들을 앞으로 싸피를 하는, 하려는 분들이 보고 참고했으면 한다. 참고로 싸피는 10기까지만 운영한다고 한다. 1. 프로그래밍 역량 전공자반은 JAVA, 비전공반은 파이썬을 학습한다. 나는 전공자반에서 JAVA를 배웠다. 학부 때 자바를 처음 접하고 거의 6년 만에 다시 자바를 보는 격이다. 그래도 학부 때 for문이나 그런것들을 빡세게 익혀둔 거라 기본 문법은 어렵지 않았다. 정말 자바 대부분의 문법이며 프로그래밍 관련된 모든 부분을 알려준다. 쓰레드 ..