데블 아니고 데블리

운동,햄버거, 개발 좋아요

🐷💻📝

전체 글 48

[항해99 취업 리부트 코스 학습일지] 2024.04.05(금)

오늘 배운 알고리즘은 01. 이진탐색(binary search) "정렬된 배열" 에서 내가 원하는 것 찾기! 매 단계에서 중간값을 찾아가는게 핵심 시간복잡도가 O(logn) 반 탐색하고 반 탐색하고 하는 로직이라 탐색범위가 반으로 줄어든다 오늘 푼 예제는 한쪽으로만 탐색하는 파라매트릭 탐색을 했는데, 이진탐색의 기초는 양쪽을 탐색하는 것이 중요하다고 봅니다. package src.com.company.week2.day3; public class BinarySearchExample { int binarySearch(int arr[], int l, int r, int x) { if (r >= l) { int mid = r - l / 2; // 중간값이 찾는 값과 같은 경우 if (arr[mid] == x) ..

카테고리 없음 2024.04.06

[항해99 취업 리부트 코스 학습일지] 2024.04.04(목)

시간이 엄청 빠르게 가는게 느껴진다 오늘 우선순위 큐라는 걸 처음 써봤다. 자동 정렬이 되는데도 불구하고 시간복잡도가 O(logN)인게 너무 신기하다. 뭔가 정렬을 할게 있을 때 사용해보면 좋을 것 같다. 사실 지난주에 풀었던 문제들도 우선순위큐로 풀 수 있었지 않을까? 하는 마음에 풀어보다가 늦게잔건 TMI 약간 항해하면서 시간이 엄청 빨리간다.. [01. 람다를 이용한 Comparator] 어제 연습했던 것 처럼 people을 클래스로 만들어 사용할 수 있습니다. import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class ComparatorExample { public static void ma..

[항해99 취업 리부트 코스 학습일지] 2024.04.03(수)

자료구조를 본격적으로 들어갔다. 새로운 조원과 멘토님(기술매니저님)을 만났다.. 내 실력에 비하여 잘하시는 분들을 만난 것 같아서 초큼 부담스럽지만 코드리뷰를 하면서 레벨업 되는 느낌이다.. 오늘 배운 내용을 정리해서 따로 포스팅했다. https://devdevleyy.tistory.com/27 [자료구조] Stack, Queue, Deque 오늘은 자료구조에 대해 강의를 듣고 구현해 보는 시간을 가졌는데, 깊이있게 공부해 본 경험은 처음이라 어려웠다. [01. Stack] - stack 자료구조는 후입선출 : 나중에 들어간게 처음으로 나온다(Last devdevleyy.tistory.com 저기에 적지 않았지만 추가적으로 공부했던 부분 (더 자세하게 해야 하지만, 7일차 일정에 있어서 간략하게) 1. ..

[자료구조] Stack, Queue, Deque

오늘은 자료구조에 대해 강의를 듣고 구현해 보는 시간을 가졌는데, 깊이있게 공부해 본 경험은 처음이라 어려웠다. [01. Stack] - stack 자료구조는 후입선출 : 나중에 들어간게 처음으로 나온다(Last in First Out, LIFO) 구조입니다. 저는 세로구조라고 생각해요.. 맨 나중에 들어간 것 부터 꺼낸다 = 맨 위에서부터 꺼낸다.. 일단 선언하고 데이터를 집어 넣는 것 부터 해야겠지요.. - 기본 연산 push: 스택의 맨 위에 요소를 추가. pop: 스택의 맨 위 요소를 제거하고 그 값을 반환. peek: 스택의 맨 위 요소를 조회. import java.util.*; public class StackExample { public static void main(String[] arg..

[항해99 취업 리부트 코스 학습일지] 2024.04.02(화)

오늘은 1주차 마지막 날이라서 시험을 봤다. 1번은 .. 그나마 풀 수 있었지만 "상" 문제는 손도 대지 못했다 저녁 순회시간에는 기술매니저님이 멘탈케어를 해주시고 가셔서 금방 회복했는데, 오늘 따로 공부해야 할 것은 델타탐색이다. 좌표평면에서 기준인 나! 가 있을 때! 점에서 점으로 이동한다거나.. 주변으로의 이동(4방 8방)사방..팔방..아동..을 하는걸 구현할 때 필요할 것 같다, 오목, 미로찾기, 경로.. 이런 문제들 좌표평면을 행렬에 대입해서 이해하려니 조금 어려웠다 지금 파란 화살표 있는 점은 좌표평면 상 (7,8)(x좌표 먼저) 읽으려는 습관이 있었는데 행렬에서는 "행" 먼저, 즉 y 축 먼저 읽어야 해서 어려웠던 것 같다. 행렬에서의 위치는 2열 10행(인덱스는 0번부터 시작하니까) 이것부..

카테고리 없음 2024.04.03

[항해99 취업 리부트 코스 학습일지] 2024.04.01.(월)

새로운 일주일이 시작입니다. 내일 시험을 본다고 해서 매우 걱정되는데.. 오늘은 거의 이중배열에 관한 문제였지만.. 구현에 관련된 문제여서 좀 힘들었습니다. 오늘 푼 문제 중 무려 4시간~ 5시간 고민을 했던 것 https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 내일 아침에 따로 포스팅을 할텐데, 이렇게 열심히 로직애 대해 고민하고 생각했다. 그.. 처..

[항해99 취업 리부트 코스 학습일지] 2024.03.30.(토)

오늘은 토요일! 항해 하면서 시간이 옴팡지게 빨리 지나가는 것 같다 1. 진법변환(멘토님이 알려주신 방법) - N진수 숫자를 10진수 수로 변환할 때.. 우리가 흔하게 쓰는 Inteager.parseInt(String, int)로 가능하다고 한다 첫 번째 인자에는 변환할 문자열, 두 번째 인자에는 변환할 문자열의 진법을 넣어 10진수로 변환할 수 있다. public class Main { public static void main(String[] args) { // 2진법 1010110101를 10진법으로 바꿔라 : 693 출력 int a = Integer.parseInt("1010110101", 2); // 16진법 abcde를 10진법으로 바꿔라 : 703710 출력 int b = Integer.pa..

[항해99 취업 리부트 코스 학습일지] 2024.03.29.(금)

오늘 알고리즘 난이도가 훅! 올라가버려서 엉엉 울 뻔 했다.. 수학 문제도 그렇고 그렇지만 새로운 공부를 할 수 있어서 나름 뿌듯했다 오늘 새로 공부한 것들 1. 시간복잡도 for 문 여러번 돌게 되면 for문이 돌아가는 회수가 n² 이 된다.. 2. 미리 알아두어야 하는 수학공식 확률에서 P와 C의 차이점 C(combination, 조합) : 순서 중요하지 않다. - 예) 동전을 던젔을 때 앞면이 나올 확률 - 공식 : nCr = n! / (r! * (n-r)!) P(probability, 확률) : 순서 중요하다 예) 52 장의 카드 더미에서 에이스를 선택할 확률 - 공식 : 확률의 공식은 여러가지이다.. nPn = n! nPr = n! / (n-r)! 3. 이분탐색 반쪼개서 탐색하기!, 정렬된 순서..

[항해99 취업 리부트 코스 학습일지] 2024.03.28.(목)

와 벌써 목요일 시간 엄청 빠르다. 오늘도 백준을 풀며 하루를 보냈는데! 새로 알게 된 것들이 많다. 1. StringTokenizer 안에 countTokens() 메서드 - StringTokenizer객체를 생성할 때 문자열과 구분자를 지정하고, nextToken()메서드를 활용하여 토큰을 하나씩 가지고 온다 - countTokens()는 아직 처리하지 않은 토큰의 개수를 알고자 할 때 유리하다. [예제] StringTokenizer st = new StringTokenizer("Devely is Smart"); System.out.println(st.countTokens()); // 출력: 3 2. map.getOrderDefault(습관적으로만 썼다.. 이번기회에 깊게 공부해보는걸로) - Map안..

[백준_2098] 상수

[문제] (아니 상수가 이름일 줄이야..) 상수라는 친구가 숫자를 거꾸로 읽는다. 734, 893을 읽어보라고 하면 437, 398이라고 읽고 , 큰 수는 437이라고 말한다고 한다. 두 수가 주어질 때 상수의 답을 출력하세요. [입력] 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. [출력] 첫째 줄에 단어의 개수를 출력한다. [입력 예시 / 출력예시] 734 893 / 437 221 231 / 132 839 237 / 938 1. 버퍼를 이용해 문자를 입력받고 2. 읽어 온 숫자를 거꾸로 뒤집고 3. 거꾸로 뒤집는거 다시 형변환 4. 더 큰 값 출력하기 package src.com.company.day2; import jav..

카테고리 없음 2024.03.28