본문 바로가기
패스트캠퍼스 Java 코딩테스트 강의 한 달 후기 일단 해당 강의를 듣기 전에 이미 이전부터 코딩테스트 통과를 위해서 많은 검색을 해보며 좋다는 방법들을 이것저것 시도를 해보긴 했었다. 이게 꾸준함도 중요하지만, 정리되지 않고 중구난방의 느낌을 항상 갖고 있었다. 그래서 그 느낌을 없애기 위해 나름대로 코딩테스트 정리를 해보면서 진행을 해봤다. 그러던 중에 패스트캠퍼스 강의를 보게 되었고, 시중에 나와 있는 것 중에서 가장 괜찮을 것 같다고 생각이 들어 결제해서 수강을 진행했다. 신규로 강의를 찍어서 보여줄 거라고 생각을 하지 않았는데, 이번에 강사님의 건강상의 문제로 강의 오픈이 밀린 것을 보고서 신규로 강의를 찍는 것을 알게 되었다. 뭐 쨌든 강의 듣기 시작에 앞서 1주차 때 이번 강의 수강의 목표를 나름대로 정하고 듣기.. 2023. 5. 18.
패스트캠퍼스 Java 코딩테스트 강의 2주차 시간복잡도에 관해서 공부를 했다. 어느 정도 시간복잡도에 대해서 개념은 알고 있기 때문에 바로 문제를 푸는 것으로 넘어갔다. 해당 문제가 시간복잡도에 대한 문제라는 것을 미리 알고 봤기 때문에 문제 푸는 방법을 고민하는 게 시간복잡도를 고려해야겠다는 생각을 하고 풀었다. 문제 풀면서 시간복잡도를 고려하면서 풀어보려고 했다고 하지만, 규칙성을 찾아야되는데 찾기가 쉽지 않았다. 경험이 부족하다는 생각이 제일 먼저 들었다. 그리고 항상 시간복잡도 규칙성 찾아가는 예시? 방식? 같은 것을 눈으로 보고 싶긴 했었다. 이번에 강의에서 내가 원했던 것을 얻은 느낌? 이었다. 해당 문제를 여러 번 풀어보면서 완벽하게 이해를 해보고, 앞으로 시간복잡도의 문제를 접했을 때 어떤 방식으로 접근해야 되며 풀어가야 하는지 가이.. 2023. 4. 29.
패스트캠퍼스 Java 코딩테스트 강의 1주차 독학하려다가 강의 구매해서 들으면 조금이나마 시간을 절약할 수 있지 않을까?하는 마음으로 구매했다. 주변에 여러 가지 강의들이 있긴 했으나, java 코딩테스트 정리된 것을 찾기가 쉽지 않았다. 그러던 중에 찾게 된 강의로 고민하지 않고 바로 수강하게 되었다. 이번 강의 수강 목표 : 코테 통과가 궁극적인 목표이면서 이것이 걸림돌이 되지 않게 하는 정도의 수준을 얻는 것. 강의를 무작정 듣기보다는 목표와 방향성에 대해서 먼저 확인하고 가는 것이 길을 잃지 않을 수 있다. 앞으로 해당 강의를 들으면서 나의 목표를 도달할 수 있도록 열심히 해보자!! 이번 강의를 들으면서 문제를 푸는 것도 좋지만 어떤 방식으로 접근하면 좋을지 생각하면서 풀어봤다. 01. 문자열 StringBuilder 문제 풀기 : 백준 2.. 2023. 4. 22.
DFS(depth-fist search) 깊이 우선 탐색 알고리즘 : 한쪽 분기를 정해서 맨 밑까지 탐색 맞힌 후 다른 분기로 이동하여 탐색 : 스택 성질을 갖는 재귀함수로 표현 - 시간복잡도(노드 수:V, 에지 수: E) : O( V + E ) ex) 단절점 찾기, 단절선 찾기, 사이클 찾기, 위상 정렬 등의 문제를 응용하여 풀 수 있습니다. 2022. 10. 3.
위상정렬 알고리즘 - 사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘. - 사이클이 없음. - 시간복잡도(노드 수:V, 에지 수: E) : O(V+E) - 출력값이 항상 유일한 값으로 정렬되지 않습니다. -> 문제에 이러한 문구가 있으면 위상정렬로 시도해볼 수 있다!! 진입차수(indegree) 자기자신을 가리키는 에지의 개수 ArrayList[N] (사이클없을때 사용) 1. 인접리스트, 진입 차수 배열 초기화 2. 진입차수 배열 초기 데이터 저장 3. 위상정렬 수행 import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class P2252_줄세우.. 2022. 9. 23.
[Baekjoon] 백준 2750번 수 정렬하기 [Java] 버블정렬 sort() 함수 사용과 정렬 직접 구현을 동시에 구현해보았습니다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); int n = sc.nextInt();5 int[] a = new int[n]; for(int i = 0; i 2022. 9. 18.
시간 복잡도 시간 - 즉, 알고리즘 문제를 풀때 시간 제한과 데이터의 개수를 먼저 확인한 뒤 이 문제를 어느 정도의 시간 복잡도의 알고리즘으로 작성해야 풀 수 있을 것인지 예측할 수 있어야 한다. · 2020년 기준 파이썬 3.7로 코드를 작성할 때, 코드가 1초에 2,000만 번 연산을 수행한다고 가정하고 문제를 풀면 실행 시간 제한에 안정적이다. 보통 1초에 1억 연산이 가능하다고 알고 있어서 그럼 주어진 크기가 O(n^2) 1만*1만 = 1억 10만 *10만 = 100억 O(nlogn) 1,000,000(log1,000,000) = 1,000,000 * 6 요정도 알고서 문제를 접근하고 있습니다! 2022. 9. 9.
[Baekjoon] 백준 1546번 평균 java 문제풀이 import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int a[] = new int[n]; for(int i = 0; i max){ max = a[i]; } sum += a[i]; } System.out.println(sum * 100.0 / max / n ); sc.close(); } } 백준 1546번 평균 Python 문제 1546.. 2022. 9. 5.
코딩테스트구현 문제 접근 정리 일반 코테 수준에서는 제한된 메모리 사용량 보다 더 적은 크기의 메모리를 사용해야한다! 구현 문제의 유형, 고려해야할 점들을 정리하고 가야겠다라는 생각이 들었다. 일단 구현문제는 풀이를 생각하는 것이 쉽지만 소스 코드로 구현하는 것이 어려운 문제라고 한다. 구현 문제를 풀기 위한 선행 조건 1. 프로그래밍 문법 정확한 숙지 2. 라이브러리 많은 사용 경험 유형 완전탐색 : 모든경우의 수를 다 계산하는 문제 시뮬레이션 : 제시한 알고리즘을 차례대로 수행하는 문제 (삼성공채빈출유형) 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해야 하는 문제 문자열이 .. 2022. 7. 13.
[Programmers] 프로그래머스 스택/큐 기능개발 Python 문제풀이 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr pycharm으로 테스트 해보려고 했던 코드입니다! import math def solution(progresses, speeds): # 1. 100-93 = 7 7/1 = 7 7일이 걸림 그걸 계산해서 넣기 left_days = [math.ceil((100 - progresses[i] ) /speeds[i]) for i in range(len(speed.. 2022. 3. 12.
반응형
LIST