전체 글 211

[Python][백준] 1700. 멀티탭 스케줄링 / 그리디 (G1)

🔗링크 :  https://www.acmicpc.net/problem/1700🗒️파이썬 코드 풀이N,K = map(int,input().split())lst = list(map(int,input().split()))cnt = 0multitab = set()for i in range(len(lst)): # 장치가 멀티탭에 꽂힌 경우 if lst[i] in multitab: continue # 멀티탭 자리가 남는 경우 if len(multitab)  1. 세가지의 조건으로 나눈다.device가 멀티탭에 꽂힌 경우멀티탭 자리가 남는 경우멀티탭 자리 부족으로 device 교체2.  "멀티탭 자리 부족으로 device 교체"  이 부분이 중요한데, 멀티탭의 값이 lst의 i+1 ~ N ..

[Python][백준] 2252. 줄 세우기 / 위상정렬, DAG (G3)

🔗링크 :  https://www.acmicpc.net/problem/2252✨ 위상정렬 풀이 방식위상 정렬은 DAG(Directed Acyclic Graph)의 조건을 만족하면서 모든 노드를 나열하는 정렬 방법이다. 여기에서 DAG라는 말이 좀 어렵게 느껴질 수 있지만, 쉽게 말해 비순환형 그래프로 반드시 사이클이 없어야 한다. (뭐 어렵게 생각할 필요없고, 아래 예시와 같이 비순환형 그래프를 DAG라 보면 된다.) 위상정렬 같은 경우 그래프의 구조와 노드의 연결 방식에 따라 여러개의 답이 나올 수 있다.  EX) 다음은 위상 정렬에 대한 간단한 예시이다.아래의 그래프를 위상정렬로 나열하면 되는 것이다.  풀이과정은 다음과 같다.그래프 및 진입 차수 계산진입 차수 0인 노드 큐에 추가큐에서 노드 꺼내..

[Python][백준] 1916. 최소비용 구하기/ 다익스트라, 최단 경로 (G5)

🔗링크 :  https://www.acmicpc.net/problem/1062🗒️파이썬 코드 풀이from heapq import heappop,heappushN = int(input())M = int(input())lst = [[] for _ in range(N+1)]for _ in range(M): start,end,cost = map(int,input().split()) lst[start].append((end,cost))departure, arrival = map(int,input().split())distance = [float('INF')] * (N+1)distance[departure] = 0queue = [(0,departure)]while queue : current_cost,cu..

[Python][백준] 1062. 가르침 / 브루트포스,비트마스킹,백트래킹 (G4)

🔗링크 :  https://www.acmicpc.net/problem/1062🗒️파이썬 코드 풀이from itertools import combinationsN,K = map(int,input().split())left_word = K-5 alphabet = set("antitaca")newAlphabet = set()words = []for _ in range(N): word = set(input()) words.append(word) newAlphabet.update(word-alphabet) if left_word   1. k개의 글자를 배우는데, "anta" , "tica" 의 단어까지 포함이다. 기본 "antic", 총 5글자는 알아야 함2. 기본 배워야 할 단어: alphbet , ..

크래프톤 채용 설명회

엔지니어는 어떤 사람일까 ? 엔지니어는 주어진 조건에서 세상의 문제를 푸는 사람이다. 개발자도 엔지니어이기 때문에 이러한 관점을 가지면 좋은 것 같다.  좋은 엔지니어가 되기위해서는 처음 보는 문제도 끈기를 가지고 풀고, 문제를 탐구하고 여러 방면으로 고민하고 해법을 논리적으로 설명해야 한다. 다음은 크래프톤 설명회에서 내가 정리한 Q&A이다. [크래프톤 채용 설명회 Q&A]Q1. 경쟁력 있는 개발자 되려면 어떻게 해야할까 문제를 해결하려는 능력과 의지호기심이 많은 사람배우는 것을 좋아하는 사람변화하는 상황에서 적응하는 능력 Q2. 신입 채용에서 인상 깊은 사람이 있는가? 본인이 회사에 관심있다는 것을 어필 ex) 자신이 배틀그라운드 게임을 하는데 이런 상품을 넣고 싶다고 아이디어를 가져왔음.(충분히 고..

Inflearn 채용 설명회 (+ 마인드셋)

인프랩에서 향로님(이동욱 안프랩 CTO)이 채용 설명회에 오셨다. 채용 관련된 내용보다는, 향로님이 개발자로써 어떤 길을 밟아 왔는지를 중점적이였다. 모든 내용을 다 적지는 못했지만, 최대한 기록으로 남겨본다.  아쉽게도 향로님의 모든 말을 담아내지는 못했다. 그래도 몇개의 좋은 키워드들이 있으니, 나의 마인드셋 형성에 도움이 될 것이라 믿는다.코드 리뷰 페어 프로그래밍테스트 코드테스트 코드는 시간을 줄이기 위한 코드시간이 오래 걸린다면 숙련도의 문제문서 & 컨벤션 개발파트 정기 모임내 자식들에게 추천해줄 수 있는지 그 회사가 나를 커리어적으로 성장 시켜줄 수 있는지 ? 커리어 이야기  (이동욱)첫 번쨰 직장 120기업 지원 -> 최종 합격 1개불행한 상황에서 내가 무엇을 주워서 일어날 것인가 ?  불행..

싱글톤 패턴 (Singleton 패턴)

nest 공부를 하다가, Singleton 패턴에 대해 나왔다. singleton패턴에서는 하나의 객체만 만든다고 하는데 도저히 이해가 되지 않았다.  하다보니 singleton패턴  몇 가지 의문이 들었었다.(하나의 객체만 만들면 클라이언트끼리 특정 데이터에 접근하려 할 때 충돌이 발생하지는 않을까 등등) 그래서 Singel 패턴에 대해서 좀 알아 보았다. Singleton 패턴 싱글톤은 클래스의 인스턴스를 하나만 생성하도록 보장프로그램 전체에서 하나의 객체만 생성새로운 객체를 생성하지 않고 이미 존재하는 객체 재사용주로 글로벌 상태를 관리 (전역 접근 가능)하나의 클라이언트가 싱글톤 객체 속성을 수정하면 , 변경사항은 다른 모른 클라이언트에도 즉시 반영리소스 낭비를 방지생성자 (private)로 외부..

Backend/.js 2024.12.16

Default Export 와 Named Export

이제 막 Node.js를 공부하기 시작했다. 간단한 오픈 소스를 clone 해서 테스트 해보고 있는데, 이런 코드를 보았다. import { Server } from "socket.io"; Named Export 형태가 좀 헷갈렸고, 이와 관련해서 정리를 해보고자 한다. ✨ Default Export (기본 내보내기) 먼저 Default Export에 대해 간단한 예시를 살펴보자. // math.jsexport default function add(a, b) { return a + b;}// main.jsimport add from './math.js'; // 중괄호 없이 가져옴console.log(add(2, 3)); // 5이와 같은 경우 모듈에서 하나의 값만 내보낼 수 있음가져올 때 임의의 이름을..

Backend/.js 2024.12.12

Java script에서 Promise 란 ? (+@ Async / Await)

✨ Promise Promise는 단순히 비동기 작업을 더 깔끔하고 체계적으로 처리하기 위한 도구이다.Promise가 없던 시절에 비동기 작업은 콜백 함수를 통해 처리 되었다.     그러면 콜백을 썼을 때와 안 썼을 때의 코드를 한번 비교해보자 !   🔗여러 비동기 작업을 순서대로 처리 콜백 중첩 (콜백 헬)아래와 같이 코드를 작성하는 경우 가독성이 저하된다. fs.readFile('file1.txt', 'utf8', (err, data1) => { if (err) return console.error(err); fs.readFile('file2.txt', 'utf8', (err, data2) => { if (err) return console.error(err); ..

Backend/.js 2024.12.12

AWS 특강 - Databases

지난 포스팅에서는 Storage에 대해 포스팅을 하였다.Storage 같은 경우, 단순히 데이터를 저장하는 것을 목표로, 실제로 쿼리를 짜지 못하고 체계적으로 데이터를 저장하지 못한다. 효율적인 검색 및 조작, 고성능 트랜잭션 처리 같은것을 위해프로젝트에서 Database 또한 구축해주는 것이 좋다. https://jerry-k.site/entry/AWS-%ED%8A%B9%EA%B0%95-Storage AWS 특강 - StorageAWS 강의 2부이다.  1부에서는 Network compute에 대해서 배웠다. 전반적으로 어떻게 서버를 만들어야 하는지 느낌정도는 온 것 같다. 그럼 이제 만든 서버에 데이터들을 저장해야하는데, 이때 사용jerry-k.site ✨ AWS의 완전 관리형 Database 서비스..

Backend/Network 2024.12.11