일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바
- 웹 개발 면접 질문
- 간단 프로젝트
- 알고리즘
- URL입력
- e-HR
- react
- 트리
- 백준알고리즘
- 첫 리액트
- 첫 React
- 쟈스
- 1차면접
- MySQL
- 프로젝트 후기
- IT시스템개발
- 뷰 리액트 비교
- CompositionAPI
- 경력직
- 백준
- Vue.js
- 뷰
- SBS 본사
- 대문자
- 오라클
- 리액트
- 면접
- 사내시스템
- SBS 개발
- 뷰 리액트
- Today
- Total
목록알고리즘 (5)
리주의 프로그래밍 공부

우연히 문제를 알게 돼서 시도하다보니, 골드2 문제였다.. 난이도 보고 포기할까 싶었지만, 이왕 시작한거 끝을 보자는 마인드로 풀어냈다. (참고로 제출수가 적은 탓에 구글링해도 풀이가 다른 문제에 비해 많이 없다.) 접근방법 두 수를 받아서 한번에 풀라고 하지 않았다. 하나의 수에 대해 0~9까지 몇개히 문제를 알게 돼서 시도하다보니, 골드2 문제였다.. 난이도 보고 포기할까 싶었지만, 이왕 시작한거 끝을 보자는 마인드로 풀어냈다. (참고로 제출수가 적은 탓에 구글링해도 풀이가 다른 문제에 비해 많이 없다.) 접근방법 두 수를 받아서 한번에 풀라고 하지 않았다. 하나의 수에 대해 작거나 같은 모든 정수의 각 자리의 합을 구하는 함수를 작성한 뒤에, 그 함수를 두 번 호출해서 풀었다. (문제를 쪼개서 생각..

트리 문제를 풀기 위한 기본적인 틀, Node와 Tree 작성을 익히기 위해서 어제에 이어 트리 문제를 한번 더 풀었다. 이 문제에서 어려웠던 점은.. 입력을 마치는 방법이었다. 그건 검색을 통해서 Ctrl + z로 입력을 마칠 수 있다고 찾았다. Node와 Tree의 기본적인 생성을 마치고, 키 값이 들어오면 root부터 시작해서 작으면 왼쪽, 갈 곳이 없으면 왼쪽 노드로 생성 크면 오른쪽, 갈 곳이 없으면 오른쪽 노드로 생성 이라는 간단한 원리로 문제를 풀 수 있었다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import ..

기본적인 트리 문제였다. 하지만 제일 먼저 떠오른건 이차원 배열로 푸는 방법... 트리를 구현해서 다시 풀어봐야겠다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // [][0] : 왼쪽 자식 노드, [][1] : 오른쪽 자식 노드 int[][] arr = new int[n][2]; for(int i=0; i

Arrays.sort는 최악의 경우, 시간 복잡도가 O(n^2)이라 사용하지 않았는데, 다른 사람들의 풀이를 보니, 이 문제에서는 사용해도 됐던 것 같다. (Collections.sort는 Timsort를 사용하여 최악의 경우에도 O(n logn)을 보장한다. insert sort와 merge sort를 섞어쓴다고 한다.) + (Arrays.sort는 형에 따라 쓰는 알고리즘이 달라서 시간복잡도가 다르다고 한다. int형으로 쓴다면, 자바는 Quicksort를 사용해서 최악의 경우 O(n^2)을 가지고, Integer형으로 쓴다면, Mergesort로 O(n logn)을 가진다고 한다. 그렇다면 이 문제에서도 Integer로 쓴다면 걱정없이 Arrays.sort를 쓸 수 있을듯 하다.) 간단한 문제였음에..

방금 전에 올린 N과 M(2) 문제에서 하나만 수정하면 바로 맞추는 문제였다. (혹시나 15650 N과 M(2)를 풀지 않았다면 그거먼저 풀고오면 도움이 될듯하다.) [15650] N과 M (2) 다시 풀어보는 백트래킹 문제. 아직까지도 완벽히 숙지하지 못한 것 같다. (바로 N과 M 다른문제 풀러가야지) 우선 이 문제는 visited 배열이 필요가 없다. 왜냐하면 재귀적으로 호출할 때, +1을 해 leezu-prog.tistory.com dfs를 호출할 때, i+1에서 i로만 바꿔주면 된다. 이유는 중복가능하기 때문이다. 비내림차순은 dfs를 아래서부터 시작하면 자연스레 따라온다. import java.io.BufferedWriter; import java.io.IOException; import ja..