일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 토마토
- 오블완
- 괄호 회전하기
- 데이터
- 도둑질
- 다단계 칫솔 판매
- 컴퓨터구조
- java
- swea
- 프로그래머스
- Comparator
- 코테
- 고정소수점
- 백준
- sw expert academy
- 메뉴 리뉴얼
- 기능 개발
- 조합
- 티스토리챌린지
- Call-by-Value
- 순열
- 부동소수점
- 베스트 앨범
- 구현
- 컴퓨터 구조
- 운영 체제
- 요세푸스
- 표 편집
- Comparable
- 자바
- Today
- Total
목록2024/11 (31)
감자는 아직 꿈을 꾼다.
알고리즘 : 유니온 파인드 유니온 파인드는 말그대로 합치기와 탐색입니다.여기서 상호 배타적인 집합 관계가 나옵니다. 말 그대로 둘이 어떠한 교집합도 없는 집합입니다.그래프로 생각하면 둘이 완전히 분리된 그래프 인거죠. 파인드는 자기 자신의 부모로 계속 올라가서 루트 노드까지 가는 과정이고 여기에서 만약 서로 다른 두 점을 파인드 했는데 루트 노드가 같을 경우는 이미 같은 집합 인것이고다를 경우는 다른 집합인 것이겠죠 유니온은 말 그대로 두 집합을 합치는 과정인데 여기서 중요한 게 깊이 차이를 신경써야됩니다.그냥 막무가내로 붙여버리면 깊이가 깊어져서 비효율적이게 됩니다.그래서 두 루트노드의 랭크를 확인해서 더 큰 랭크인 루트노드를 부모 루트 향하게 작은 랭크의 루트노드를 바꿔주면 트리의 깊이 차가 안생기므..

면접/IT역량테스트에 앞서서 CS지식을 한번에 총 정리하기 위해서 한번에 정리하기로 작성하게 되었습니다.면접 질문의 답을 작성하기 보단 면접 질문에 나오는 내용들의 개념을 정리해서 이해함으로 외워서 답을 하는 것이 아니라 이해로 인해서 자연스럽게 나오도록 하기위해 정리하는 글입니다. 제가 공부하면서 얻은 파편화된 지식을 모아서 정리하는 용도로 한번에 다 담기위해서 노력했습니다. 잘봐주세용 추가로 작성하지 않는 부분은 계속해서 업데이트하면서 작성할 예정입니다. 본 글은 유튜버 "쉬운 코드"님의 데이터 베이스강의를 참고하여 작성한 글입니다.해당 강의를 들어 보는 것을 추천드립니다. 허락을 받고 작성하는 블로그 입니다. https://www.youtube.com/@ez. 쉬운코드10년차 백엔드 개발자가 배워..

1. 소스 코드와 명령어2. 명령어의 구조 1. 소스 코드와 명령어 컴퓨터는 명령어를 처리하는 기계이고, 2장의 데이터에서 봤던 것처럼, 0과 1로 이루어진 정보만 이해할 수있습니다.그런데 우리는 소스코드를 0과1로 작성하지 않습니다.우리가 작성한 소스코드가 컴퓨터 내부에서 명령어로 변환 되는 것이죠 ✏️고급 언어, 저급 언어 High Level에서 사람의 입장에서 컴퓨터에게 명령을 내리기위한 언어가 고급 언어입니다.컴퓨터가 직접 이해하고 실행하는 언어가 저급언어이고,저급언어는 명령어로 이루워져있고, 고급언어는 무조건 저급언어로 변환이 되어야 컴퓨터가 실행 할 수있습니다.저급언어는 기계어와 어셈블리어 두 가지 종류가 있고, 기계어는 사람이 보면 단순히 0과 1의 배열일 뿐입니다.이해가 가질 않죠, 그래..

✏️부동 소수점과 고정 소수점 컴퓨터는 실수를 표현할 때 소수점의 위치 고정 여부로 고정 소수점과 부동 소수점으로 나눕니다.고정 소수점은 소수점의 위치가 고정되어 있는 표현법부동 소수점은 소수점의 위치가 고정되어 있지 않고 이동하며, 따로 위치를 나타내는 수를 적는 표현법입니다. 이렇게 말해선 이해가 가지 않을 수도 있으니 예시로 확인해보죠. 그전에 십진수 소수를 이진수로 표현하는 방법에 대해서 말해보면 13.625라는 십진수를 이진수로 표현하려면 정수부분인 13을 이진수로 변환하고, 나머지 0.625를 이진수로 변환 시키고둘 사이에 소수점을 찍어서 이어주면 끝입니다. 0.625는 어떻게 이진수로 표현하냐면 단순하다 2를 곱하고 정수 부분을 쓰고, 남은 소수 부분이 0으로 나누어 떨어질때 까지 반복해서 ..

자바에서 조건들이 주어졌을 때, 우선순위대로 정렬해서 출력하는 방법에 대해서 소개하겠습니다. 2024년 하반기 현대자동차 소프티어 코테를 어제 봤습니다. 5문제는 최장거리(그래프), 큐, 정렬 등 있었는 데 완전 처음 본 문제도 있었습니다. 그 중 3문제정도 풀고, 테스트케이스 통과했길래 그냥 제출했습니다.(화장실이 너무 급한데 중간에 갈수가없어서 정신이 없었습니다 ㅜㅜ )하지만 문제를 풀고 보니 제가 푼 방식이 틀렸더군요... 그 문제가 복잡하다기 보단 간단한 정렬에 관한 문제였습니다. 그래서 이 참에 완벽하게 알아가기 위해서 정리하려고 글을 작성하게되었습니다. (분노의 짤의 이유죠) 자바는 기본적으로 Comparable, Comparator 인터페이스를 제공합니다. 정리한 글 https://drea..
알고리즘 : DP 한번에 바로 풀지 못했다.오히려 Lv.4인 도둑질 문제는 풀었지만 레벨 2인 문제는 못푸는 게 아이러니 한거같다.처음엔 접근을 완전히 잘 못했다. 틀린 코드도 같이 설명할 예정이다.문제 설명링크 참조https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr틀린 코드 상당히 난잡하고 무조건 시간복잡도가 터질 수밖에 없는 코드다.일단은 이 방법 밖에 떠오르지않아서 구현했지만 , 잘못된 방식이란거는 어느정도 알았고 그냥 정확성테스트만 어느정도테스트 해보고싶었다.행을 기준으로 인접해서 1이..

1. 0과 1로 숫자를 표현하는 방법2. 리틀엔디안, 빅엔디안3. 0과 1로 문자를 표현하는 방법 1. 0과 1로 숫자를 표현하는 방법 컴퓨터는 정보를 0과 1로 표현합니다. 😁정보 단위0과 1을 나타내는 가장 작은 정보 단위를 비트(bit)라고 한다. 두 가지 정보를 표현합니다.우리의 프로그램은 수많은 비트로 이루어져있습니다. 하지만 우리는 프로그램 파일의 크기를 몇비트라고 말하지않고,메가바이트, 기가바이트 라는 말로 표현합니다.여기서 바이트(Byte)는 8bit랑 대응되는 단위입니다. 1바이트를 1000개 묶은 게 1킬로바이트 (1KB), 1킬로바이트를 1000개 묶은 게 1메가바이트(1MB)1메가바이트를 1000개 묶은 게 1기가바이트 (1GB), 1기가바이트를 1000개 묶은 게 1테라바이트 ..

알고리즘 : DP DP는 거의 아이디어 문제 인것 같다.내 방식대로 풀고나서 다른 사람들의 블로그 글을 보았는데 솔직히 잘 이해 안되는 부분도 있었다.하지만 내 방식은 그래도 이해하기 쉽지 않나? 싶다.한번 천천히 읽어 보길 권장합니다.사실 처음 풀어보는 Lv.4문제라서 겁먹었는데 생각만큼은 아니였다.문제설명링크참조https://school.programmers.co.kr/learn/courses/30/lessons/42897# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr내 풀이 우선 코드에 해당 설명의 주석을 달아 놓았다.혹시 모르거나 피드백할 부분 있으면 답글 부탁드립니다. 처음으로 연상할 수 있..
알고리즘 : BFS 이번에 2024년도 하반기 삼성전자 코테에서도 이러한 풀이 방식을 활용한 문제가 나왔었다.훨씬 더 어려운 구현 문제 였지만 스테디하게 활용되는 방식이다.문제설명링크참조https://www.acmicpc.net/problem/4179 내풀이1. 불을 먼저 진행시킨다.불을 먼저 진행시키는 이유는 불의 진행은 지훈이에게 영향을 주지만 , 영향을 받지는 않는다.우선 불을 진행시키고 dist배열에 시간을 기록한다. 2. 지훈이가 진행한다.지훈이가 진행할때 이동하는 위치가 배열을 벗어나면 성공적으로 벗어난 것이므로 현재거리+1출력지훈이가 진행 -> 불 거리 배열의 숫자보다 크면 , 불이 번진곳이므로 가지 못한다 continue -> 진행 가능 : 현재 거리 + 1 & 큐에 추가 만약 지훈이의 큐..
알고리즘 : BFS토마토 시리즈로서 2차원인 7576번과 3차원인 7569번을 설명하도록 하겠다.문제설명 : 7576번 토마토https://www.acmicpc.net/problem/7576링크 참조 내 풀이 이 문제는 시작점이 여러개 일경우의 BFS 문제이다.문제에서도 주어진 것처럼 토마토의 위치가 여러군데에서 시작하고BFS를 따로따로 진행하면 dist배열 초기화가 먼저 이루어져서 겹치는 부분에 대해 처리가 정확히 되지 않는다.간단하게 이 문제를 풀이하면 시작점들을 큐에 집어넣고 BFS를 시작하면 된다.왜냐하면 큐의 특성상 FIFO 이므로 시작점들을 넣고 BFS를 돌리면 순차적으로 각 시작점 위치에서 BFS가 돌아가면서 실행이 되기 때문이다. 큐의 특성으로 거리순으로 저장되는 것 만약에 스택이였으면 하..